- •Диаграмма последовательностей (когда разрабатывается, преимущества, недостатки, система обозначений).
- •Диаграмма кооперации (когда разрабатывается, преимущества, недостатки, система обозначений).
- •Достоинства:
- •Недостаток:
- •3. Классификация шаблонов (patterns).
- •4. Обязанности объектов. Шаблон Information Expert.
- •6. Шаблон Low Coupling.
- •7. Шаблон High Cohesion
- •8. Шаблон Controller
- •Диаграмма классов (что отображает, когда разрабатывается, процесс создания).
4. Обязанности объектов. Шаблон Information Expert.
Назначение:
При распределении обязанностей шаблон Information Expert используется гораздо чаще любого другого шаблона.
Применение шаблона Expert приводит к тому, что объекты выполняют операции точно так, как они выполняются сущностями реального мира. Именно эти сущности и моделируют объекты. Питер Код называет это стратегией "Сделай сам" ("Do It Myself").
Шаблон Information Expert, как и многие другие понятия объектной технологии, имеет соответствующую аналогию в реальном мире.
Когда не следует применять шаблон
В некоторых ситуациях применение шаблона Expert нежелательно, например, в связи с проблемами со связыванием и зацеплением.
Преимущества
Шаблон Expert поддерживает инкапсуляцию.
Соответствующее поведение системы обеспечивается несколькими классами* содержащими требуемую информацию. Это приводит к определениям классов, которые гораздо проще понимать и поддерживать. Кроме того, поддерживается шаблон High Cohesion
5. Creator
Назначение:
Шаблон Creator определяет способ распределения обязанностей, связанный с распределением объектов. Основным назначением шаблона Creator является выявление объекта-создателя, который при возникновении любого события должен быть связан со всеми созданными им объектами. При таком подходе обеспечивается низкая степень связанности.
Когда не следует применять шаблон
Зачастую создание экземпляра — это достаточно сложная операция, выполняемая при реализации некоторого условия на основе каких-либо внешних свойств. В этом случае предпочтительнее использовать шаблон Factory (Фабрика) и делегировать обязанность создания экземпляров вспомогательному классу.
Преимущества
Поддерживается шаблон Low Coupling, способствующий снижению затрат на сопровождение и обеспечивающий возможность повторного использования созданных компонентов в дальнейшем.
Применение шаблона Creator не повышает степени связанности, поскольку созданный (created) класс, как правило, оказывается видимым для класса-создателя посредством имеющихся ассоциаций.
6. Шаблон Low Coupling.
Шаблон решает проблему связности. Связность можно определить как количество точек соприкосновения классов между собой. Известно, что чем ниже связность классов, тем меньше их взаимовлияние, тем выше возможность повторного использования. А рекомендация здесь простая: распределять обязанности между классами надо таким образом, чтобы уменьшить связность.
Не существует абсолютной меры для определения слишком высокой степени связывания. Важно понимать степень связанности на текущий момент и не упустить тот момент, когда дальнейшее повышение связанности может привести к появлению проблем. В целом следует руководствоваться таким соображением: классы, которые являются достаточно общими по своей природе и с высокой степенью вероятности будут повторно использоваться в дальнейшем, должны иметь минимальную степень связанности с другими классами.
Высокая степень связывания сама по себе не является проблемой. Проблемой является жесткое связывание с неустойчивыми в некотором отношении элементами.
