Введение в объектно-ориентированный дизайн с Java - страница 10



Конструирование системы выполняется на основе как модели анализа, так и предлагаемой архитектуры системы.

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

На этапе дизайна объектов разрабатывается модель на основе как моделей, разработанных на этапе анализа, так и архитектуры, разработанной на этапе дизайна системы. При этом определяются все необходимые классы.

Устанавливаются ассоциации между классами и определяются иерархии классов.

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

Создаются базы данных и определяются конкретные требования к оборудованию.

После того, как создается код, он проверяется с использованием специализированных методов для выявления и устранения ошибок в коде.



Концептуальная структура объектно-ориентированных систем основана на объектной модели.

И объектно-ориентированная система основывается на двух категориях свойств.

Это основные свойства, которые объектно-ориентированная система обязана иметь:

– Абстракция.

– Инкапсуляция.

– Модульность.

– Иерархия.

И дополнительные свойства, которые полезны, но не являются неотъемлемой частью объектной модели:

– Типизация.

– Параллельность.

– Сохраняемость.



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

И основные свойства относятся к контексту, в котором используется объект.

Инкапсуляция – это процесс связывания как атрибутов, так и методов вместе внутри класса.

Благодаря инкапсуляции внутренние детали класса могут быть скрыты извне.

Класс имеет методы, которые предоставляют пользовательские интерфейсы, с помощью которых могут использоваться службы, предоставляемые классом.

Модульность – это процесс разложения задачи (программы) на набор модулей, чтобы уменьшить общую сложность проблемы.

И модульность связана с инкапсуляцией.

Модульность может быть визуализирована как способ отображения инкапсулированных абстракций в реальные физические модули, имеющие высокую степень сцепления внутри модулей, а их межмодульное взаимодействие или связь является слабой.

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

Через иерархию система может состоять из взаимосвязанных подсистем, которые могут иметь свои собственные подсистемы и т. д.

До тех пор, пока не будут достигнуты наименьшие компоненты уровня.

Иерархия использует принцип «разделяй и властвуй».

И иерархия позволяет повторно использовать код.

Двумя типами иерархий являются:

Иерархия «IS-A». Она определяет иерархическую взаимосвязь в наследовании, в которой из суперкласса может быть выведено несколько подклассов, которые могут снова иметь подклассы и т. д.

И иерархия «PART-OF» – определяет иерархическую взаимосвязь в агрегации, посредством которой класс может состоять из других классов.



Согласно теории абстрактного типа данных, тип является характеристикой набора элементов.

В ООП класс визуализируется как тип, имеющий свойства, отличные от любых других типов.

Типизация – это применение понятия о том, что объект является экземпляром одного класса или типа.

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