Загрузка...

Компоненты объектного подхода


Концептуальная основа ОО стиля состоит в объектном подходе. Этому подходу соответствуют четыре главных элемента:
1) абстрагирование;
2) ограничение доступа;
3) модульность;
4) иерархия.
Абстрагирование
является одним из главных способов, используемых для решения сложных задач.
Абстракция – это существенные характеристики некоторого объекта, которые отличают его от всех других видов объектов и таким образом четко определяют особенности данного объекта с точки зрения дальнейшеог рассмотрения и анализа.
Абстрагирование концентрирует внимание на внешние особенности объекта и позволяет отделить самые существенные особенности поведения от несущественых деталей их осуществления. Такое разделение называется барьером абстракции. Барьер абстракции основывается минимизации связи, когда интерфейс объекта содержит только существенные детали поведения. Выбор достаточного множества абстракций для заданной предметной области является главной проблемой ОО проектирования.
Ограничение доступа.
Созданию абстракции какого-либо объекта должны предшествовать определенные решения о способе ее реализации. Выбранный способ реализации должен быть скрыт и защищен для большинства объектов пользователей, обращающихся к данной абстракции. Другими словами ни какая часть сложно системы не должна находиться в зависимости от другой части системы. Для работы абстракции доступ к ее внутренней структуре должен быть ограничен. Ограничение доступа обозначает наличие двух частей в описании класса: интерфейса и реализации. Интерфейс отражает внешние проявления объекта, создавая абстракцию поведения всех объектов данного класса. Внутрення реализация описывает механизмы достижения желаемого поведения объекта. Ограничение доступа – это процесс защиты отдельных элементов объекта как целого.
Модульность.
Разделение проги на фрагменты позволяет частично уменьшить ее сложность, однако гораздо более важен тот факт, что разделение программы позволяет улучшить проработку ее частей. Модули выполняют роль физических контейнеров, в которых помещаются определения классов и объектов при логическом проектировании системы. Конечной целью декомпозиции проги на модули является снижение затрат на программирование за счет независимой проработки и тестирования. Приведем приемы эффективной декомпозиции:
1) Структура модуля должна быть достаточно простой для восприятия;
2) Реализация каждого модуля не должна зависеть от реализации другого модуля;
3) Должны быть приняты меры для обеспечения процесса внесения измнений там, где они наиболее вероятны;
4) Перекомпиляция тела модуля не трудоемка, интерфейсной части наоборот. Поэтому следует стремится к тому, чтобы интерфейсная часть была возможно более узкой в пределах обеспечения необходимых связей.
Модульность – свойство системы, связанное с возможностью декомпозиции ее на ряд тесносвязанных модулей.
Принципы абстракции, ограничения доступа и модульность создают барьеры между абстракциями. Вычленение классов и объектов в проекте, а также ограничение модульной структуры – существенно независимые решения Процесс выделения классов и объектов составляет часть процесса логического проектирования системы, а деления на модули – этап физического проектирования.

Иерархия.
При большом числе абстракций необходимо использовать механизм помогающий упростить проектирование сложных систем, такой механизм – Иерархия.
Иерархия – это рангжированая или упорядоченная с-ма абстракций.
Основными видами иерархических структур применительных к сложным с-мам являются:
— структура класса (типовая иерархия или иерархия по составу);
— структура объектов (структурная иерархия).

Загрузка...