Глава 9 Среда разработки: библиотека базовых классов
Глава 9 Среда разработки: библиотека базовых классов
Основным преимуществом объектно-ориентированных языков программирования, таких, как C++ и Smalltalk, является высокая степень повторного использования в хорошо спроектированных системах. Это означает, что для разработки каждого следующего приложения требуется гораздо меньше нового кода; следовательно, меньшее количество кода требуется сопровождать и поддерживать.
Повторное использование принимает различные формы: заимствование отдельных строк кода, отдельных классов или логически связанных между собой групп классов. Повтор строк наиболее прост (кто из программистов хоть однажды не использовал редактор для копирования реализации того или иного алгоритма из одной программы в другую?), но наименее выгоден (один и тот же фрагмент кода просто дублируется в различных приложениях). Мы поступим гораздо лучше, используя объектно-ориентированные языки программирования и обращаясь к существующим классам, модифицируя их или наследуя от них. Но еще больших успехов можно достичь, используя наборы классов, организованные в инструментальные библиотеки, - среды разработки. Как уже отмечалось в главе 4, под средой разработки понимается совокупность классов, предоставляющих набор услуг в определенной области; таким образом, среда разработки экспортирует ряд отдельных классов и механизмов, которые клиенты могут использовать непосредственно или адаптировать.
Среды разработки могут быть достаточно универсальны и применимы к широкому кругу приложений. К этой категории относятся общие фундаментальные классы, математические библиотеки и библиотеки графического интерфейса пользователя. Среды разработки могут встречаться и в достаточно узких предметных областях, таких, например, как учет пациентов больницы, торговля текстилем, менеджмент, телефонные системы. Там, где существует семейство программ, решающих сходные задачи, появляется повод создать прикладную среду разработки.
В этой главе мы применим объектно-ориентированный подход к созданию библиотеки фундаментальных классов. В предыдущей главе нашими основными задачами были реализация управления системой в реальном времени и оптимальное разделение функциональных свойств между несколькими относительно автономными и статическими объектами. Здесь же будут доминировать два различных аспекта: стремление к гибкости архитектуры с широким выбором альтернатив оптимизации по времени и памяти, и необходимость использования общих механизмов управления памятью и синхронизацией.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Библиотека классов C++ для работы с OLE DB
Библиотека классов C++ для работы с OLE DB Созданная как дополнительный слой ("обертка") над СОМ-объектами, эта библиотека классов обеспечивает более тесную интеграцию с OLE DB-провайдерами. В ней нет всего списка возможностей, который предлагает ADODB, но предоставляемый сервис
R.12.6.2 Инициализация членов и базовых классов
R.12.6.2 Инициализация членов и базовых классов В определении конструктора можно задать инициализацию прямых базовых классов и членов, не наследуемых из базовых классов. Это особенно полезно для тех объектов, констант и ссылок, для которых различаются семантики
Интегрированная среда разработки приложений VBA
Интегрированная среда разработки приложений VBA Вся работа с VBA происходит в интегрированной среде разработки. Этот термин может выглядеть холодно и пугающе, но не давайте ему себя запугать, - вы должны воспринимать интегрированную среду разработки как уютный дом, где
50. Делайте деструкторы базовых классов открытыми и виртуальными либо защищенными и невиртуальными
50. Делайте деструкторы базовых классов открытыми и виртуальными либо защищенными и невиртуальными РезюмеУдалять или не удалять — вот в чем вопрос! Если следует обеспечить возможность удаления посредством указателя на базовый класс, то деструктор базового класса
Роль библиотек базовых классов
Роль библиотек базовых классов В дополнение к спецификациям CLR и CTS/CLS, платформа .NET предлагает библиотеку базовых классов, доступную всем языкам программирования .NET. Эта библиотека базовых классов не только инкапсулирует различные примитивы, такие как потоки, файловый
Управление созданием базовых классов с помощью base
Управление созданием базовых классов с помощью base В настоящий момент SalesPerson и Manager можно создать только с помощью конструктора, заданного по умолчанию. Поэтому предположим, что в тип Manager добавлен новый конструктор с шестью аргументами, который вызывается так, как
Создание обобщенных базовых классов
Создание обобщенных базовых классов Перед рассмотрением обобщенных интерфейсов следует указать на то, что обобщенные классы могут быть базовыми для других классов и могут таким образом определять любое число виртуальных и абстрактных методов. Однако производные типы
Соответствие между типами библиотеки базовых классов .NET, C# и CIL
Соответствие между типами библиотеки базовых классов .NET, C# и CIL В табл. 15.4 показано соответствие между типами базовых классов .NET и ключевыми словами C#, а также между ключевыми словами C# и командами CIL. Там же представлены сокращенные обозначения констант, используемые для
Среда разработки eMbedded Visual Basic 3.0
Среда разработки eMbedded Visual Basic 3.0 Для краткости в этой главе для обозначения среды eMbedded Visual Basic 3.0 будет использовано сокращение eVB.Запустить eVB можно либо при помощи команды меню Пуск (Пуск ? Программы ? Microsoft eMbedded Visual Tools ? eMbedded Visual Basic 3.0), либо найти в папке установки
Среда разработки eMbedded Visual C++ 3.0
Среда разработки eMbedded Visual C++ 3.0 Несмотря на то, что среда eVC предназначена для разработки программ для «маленьких» компьютеров, сама среда – вполне серьезный инструмент. Знакомство со средой стоит начать со структуры экрана.ОкнаГлавное окно среды представляет собой окно