Обязанности, относящиеся к действиям объекта. — КиберПедия 

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Обязанности, относящиеся к действиям объекта.

2022-10-04 47
Обязанности, относящиеся к действиям объекта. 0.00 из 5.00 0 оценок
Заказать работу

· Выполнение некоторых действий самим объектом, например создание экземпляра или выполнения вычислений.

· Инициирование действий других объектов

· Управление действиями других объектов и их координирование.

Обязанности, относящиеся к знаниям объекта

· Наличие информации о закрытых инкапсулированных данных.

· Наличие информации о связанных объектах.

· Наличие информации о следствиях или вычисляемых величинах.

Реализация обязанностей

— Обязанности реализуются посредством методов программных классов

— Метод может реализовывать обязанность самостоятельно, либо во взаимодействии с методами других классов

Графически обязанности изображают в особом разделе в нижней части пиктограммы класса

Диаграммы взаимодействия

— Для визуализации распределения обязанностей между объектами используют диаграммы взаимодействия двух видов:

диаграммы кооперации,

диаграммы последовательностей

— В обоих случаях взаимодействие объектов представляется в виде обмена сообщениями

Контроллеры:

— классы, обязанности которых состоят в обработке системных сообщений называются (классами контроллера.)

— Классы контроллера не относятся к интерфейсу пользователя

— В рассматриваемом примере возможны два варианта решения:

1-й вариант - все системные операции выполняются одним внешним контроллером.

2-й вариант - системные операции распределены между несколькими контроллерами прецедента.

Выбор между вариантом использования внешнего контроллера (facade controller) и вариантом контроллеров прецедентов определяется, в основном требованиями соблюдения малой связности и высокой степени зацепления

9. Шаблоны проектирования, их классификация. Правила описания шаблонов, примеры шаблонов с их описаниями.

// хз, это скопировано из 1йаттестации,//

Шаблоны проектирования (паттерн, англ. design pattern) — это многократно применяемая архитектурная конструкция, предоставляющая решение общей проблемы проектирования в рамках конкретного контекста

Классификация:

— - Шаблоны анализа

— - Архитектурные шаблоны

— - Шаблоны проектирования

При описании шаблона выделяют четыре его составляющих:имя,задача,решение,результаты

примеры

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

Adapter - паттерн, позволяющий преобразовать интерфейс объекта к тому, который требует клиент.

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

Bridge - паттерн, позволяющий отделить интерфейс от реализации и изменять их независимо.

Decorator - паттерн, позволяющий динамически добавлять обязанности объекту, путем включения его в "конверт", обладающий совместимым интерфейсом

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

Шаблоны распределения обязанностей, их назначение. Примеры применения.

Шаблон

— Распределение обязанностей подчиняется ряду принципов, обобщающих практический опыт проектирования программных систем

— Эти принципы формулируются в виде шаблонов проектирования (design patterns)

Шаблон Expert

— Проблема Каков наиболее общий принцип распределения обязанностей?

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

Шаблон Creator

— Проблема. Кто должен отвечать за создание нового экземпляра некоторого класса?Решение. Назначить классу B обязанность создавать экземпляры класса A, если выполняется одно из условий.

• Класс B агрегирует (aggregate) объекты A

• Класс B содержит (contains) объекты A

• Класс B записывает (records) экземпляры объектов A

• Класс B (closely uses) объекты A

• Класс B обладает данными инициализации (has the initializing data), которые будут передаваться объектам A при их создании (т.е. при создании объектов А класс В является экспертом)

Если выполняется несколько из этих условий, то лучше использовать класс В, агрегирующий или содержащий А.

Шаблон Low Coupling

Проблема. Как обеспечить зависимость, незначительное влияния изменений и повысить возможность повторного использования?

Решение. Распределить обязанности таким образом, чтобы степень связанности оставалась низкой.

Шаблон High Cohesion

— Проблема. Как обеспечить возможность управления сложностью?

— Решение. Распределение обязанностей, поддерживающее высокую степень зацепления.

Функциональное зацепление – это мера взаимосвязи обязанностей класса

— Класс с низкой степенью зацепления выполняет много разнородных функций 

Шаблон Controller

                   Проблема Кто должен отвечать за обработку системных сообщений?

Решение Обязанности по обработке системных сообщений назначаются классу, который:

◦ представляет систему в целом;

◦ представляет сценарий некоторого прецедента, в рамках которого обрабатываются системные сообщения

Шаблон Polymorphism

Проблема. Как обрабатывать альтернативные варианты поведения на основе типа? Как создавать подключаемые программные компоненты?

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


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

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

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

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

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



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

0.015 с.