Читаем Объектно-ориентированный анализ и проектирование с примерами приложений на С++ полностью

Наконец, объектная модель ориентирована на человеческое восприятие мира, или, по словам Робсона, "многие люди, не имеющие понятия о том, как работает компьютер, находят вполне естественным объектно-ориентированный подход к системам" [84].

Использование объектного подхода

Возможность применения объектного подхода доказана для задач самого разного характера. На рис. 2-6 приведен перечень областей, для которых реализованы объектно-ориентированные системы. Более подробные сведения об этих и других проектах можно найти в приведенной библиографии.

В настоящее время объектно-ориентированное проектирование - единственная методология, позволяющая справиться со сложностью, присущей очень большим системам. Однако, следует заметить, что иногда применение OOD может оказаться нецелесообразным, например, из-за неподготовленности персонала или отсутствия подходящих средств разработки. К этой теме мы вернемся в главе 7.

Открытые вопросы

Чтобы успешно использовать объектный подход, нам предстоит ответить на следующие вопросы:

• Что такое классы и объекты?

• Как идентифицировать классы и объекты в конкретных приложениях?

• Как описать схему объектно-ориентированной системы?

• Как создавать хорошо структурированные объектно-ориентированные системы?

• Как организовать управление процессом разработки согласно OOD? Этим вопросам посвящены следующие пять глав.

Выводы

• Развитие программной индустрии привело к созданию методов объектно-ориентированного анализа, проектирования и программирования, которые служат для программирования "в большом".

• В программировании существует несколько парадигм, ориентированных на процедуры, объекты, логику, правила и ограничения.

• Абстракция определяет существенные характеристики некоторого объекта, которые отличают его от всех других видов объектов и, таким образом, абстракция четко очерчивает концептуальную границу объекта с точки зрения наблюдателя.

• Инкапсуляция - это процесс разделения устройства и поведения объекта; инкапсуляция служит для того, чтобы изолировать контрактные обязательства абстракции от их реализации.

 Авиационное оборудование   Обработка коммерческой информации 

 Автоматизация учреждений   Операционные системы 

 Автоматизированное проектирование   Планирование инвестиций 

 Автоматизированное обучение   Повторно используемые компоненты 

 Автоматизированное производство программного обеспечения   Подготовка документов 

 Анимация   Программные средства космических станций 

 Базы данных   Проектирование интерфейса пользователя 

 Банковское дело   Проектирование СБИС 

 Гипермедиа   Распознавание образов 

 Кинопроизводство   Робототехника 

 Контроль программного обеспечения   Системы телеметрии 

 Математический анализ   Системы управления и регулирования 

 Медицинская электроника   Средства разработки программ 

 Моделирование авиационной и космической техники   Телекоммуникации 

 Музыкальная композиция   Управление воздушным движением 

 Написание сценариев   Управление химическими процессами 

 Нефтяная промышленность   Экспертные системы 

Рис. 2-6. Применения объектной модели.

Модульность - это состояние системы, разложенной на внутренне связные и слабо связанные между собой модули.

Иерархия - это ранжирование или упорядочение абстракций.

Типизация - это способ защититься от использования объектов одного класса вместо другого, или по крайней мере способ управлять такой подменой.

Параллелизм - это свойство, отличающее активные объекты от пассивных.

Сохраняемость - способность объекта существовать во времени и (или) в пространстве.

Дополнительная литература

Концепция объектной модели была впервые введена Джонсом (Jones) [F 1979] и Вильям-сом (Williams) [F 1986]. Диссертация Кэя (Кау) [F 1969] дала направление большой части дальнейших работ по объектно-ориентированному программированию.

Шоу (Shaw) [J 1984] дала блестящий обзор механизмов абстракции в языках программирования высокого уровня. Теоретические обоснования абстракции можно найти в работах Лисков и Гуттага (Liskov and Guttag) [H 1986], Гуттага (Guttag) [J 1980] и Хилфингера Hilfinger [J 1982]. Работа Парнаса (Parnas) [F 1979] по скрытию информации была очень плодотворна. Смысл и значение иерархии обсуждается в работе под редакцией Пати (Pattee) [J 1973].

Перейти на страницу:

Похожие книги

iOS. Приемы программирования
iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Вандад Нахавандипур

Программирование, программы, базы данных / Программирование / Книги по IT