Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Топ:
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Дисциплины:
2022-10-04 | 47 |
5.00
из
|
Заказать работу |
· Выполнение некоторых действий самим объектом, например создание экземпляра или выполнения вычислений.
· Инициирование действий других объектов
· Управление действиями других объектов и их координирование.
Обязанности, относящиеся к знаниям объекта
· Наличие информации о закрытых инкапсулированных данных.
· Наличие информации о связанных объектах.
· Наличие информации о следствиях или вычисляемых величинах.
Реализация обязанностей
Обязанности реализуются посредством методов программных классов
Метод может реализовывать обязанность самостоятельно, либо во взаимодействии с методами других классов
Графически обязанности изображают в особом разделе в нижней части пиктограммы класса
Диаграммы взаимодействия
Для визуализации распределения обязанностей между объектами используют диаграммы взаимодействия двух видов:
◦ диаграммы кооперации,
◦ диаграммы последовательностей
В обоих случаях взаимодействие объектов представляется в виде обмена сообщениями
Контроллеры:
классы, обязанности которых состоят в обработке системных сообщений называются (классами контроллера.)
Классы контроллера не относятся к интерфейсу пользователя
В рассматриваемом примере возможны два варианта решения:
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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!