Объектно-ориентированная архитектура — КиберПедия 

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Объектно-ориентированная архитектура

2018-01-30 234
Объектно-ориентированная архитектура 0.00 из 5.00 0 оценок
Заказать работу

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

Основными принципами объектно-ориентированного архитектурного стиля являются абстракция, композиция, наследование, инкапсуляция, полиморфизм, отделение.

Абстракция. Преобразование сложной операции в некое обобщение (класс), сохраняющее основные ее характеристики. Например, абстрактный интерфейс может быть широко известным описанием, поддерживающим операции доступа к данным через использованиепростых методов, таких, например, как Get (Получить) и Update(Обновить). Другая форма абстракции – метаданные, используемыедля обеспечения сопоставления двух форматов структурированныхданных.

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

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

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

Полиморфизм. Позволяет для конкретных объектов переопределять поведение базового типа (поддерживающее основные операциив приложении) путем реализации в них новых взаимозаменяемыхтипов.

Отделение. Объекты могут быть отделены от потребителя путемопределения абстрактного интерфейса, реализуемого объектом ипонятного потребителю. Это позволяет обеспечивать альтернативныереализации без влияния на потребителей интерфейса.

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

Обычно объектная модель представляется в виде диаграммы классов. На рисунок 11.9 приведен упрощенный пример такой диаграммы, гдеизображены три класса, причем классы «Teacher» и «Student» наследуют свое поведение и данные от класса «Persona».

Рисунок 11.9. Пример диаграммы классов.

 

К преимуществам данного архитектурного стиля относятся:

- понятность– обеспечивается более близкое соответствие приложения реальным объектам, что и делает его более понятным

- возможностьповторного использования – реализуется черезполиморфизм и абстракцию

- тестируемость – улучшение тестируемости обеспечивается черезинкапсуляцию

- расширяемость – инкапсуляция, полиморфизм и абстракциягарантируют, что изменения в представлении данных не повлияютна интерфейсы, предоставляемые объектами, что могло бы ограничить возможности связи и взаимодействия с другими объектами

- высокаясвязность – размещая в объекте функционально близкие методы (функции) и используя для разных наборов функцийразные объекты, можно достичь высокого уровня связности.

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

 


Поделиться с друзьями:

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.