Группы паттернов проектирования.


    Порождающие паттерны.


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

    Их всего 5:
    1. Абстрактная фабрика (Abstract Factory)
    2. Одиночка (Singleton)
    3. Прототип (Prototype)
    4. Строитель (Builder)
    5. Фабричный метод (Factory Method)

    Структурные паттерны.


    Здесь также есть два типа — паттерны уровня класса и паттерны уровня объекта. Самым ярким примером первых, на мой взгляд является «Адаптер». Общий смысл его в том, что если вдруг у нас есть класс и его интерфейсы не совместимы с другими библиотеками в нашей системе, то что бы разрешить этот конфликт, мы не изменяем код этого класса, а пишем для него адаптер. Очень часто этот паттерн применяется при написании библиотек, которые позволяют работать с различными СУБД. Паттерны уровня объекта позволяют достичь большей гибкости в приложения во время его выполнения. Наиболее популярный из них - «Декоратор».

    Всего 7:
    1. Адаптер (Adapter)
    2. Декоратор (Decorator)
    3. Заместитель (Proxy)
    4. Компоновщик (Composite)
    5. Мост (Bridge)
    6. Приспособленец  (Flyweight)
    7. Фасад (Facade)

    Паттерны поведения.

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

    Их 11:
    1. Интерпретатор (Interpreter)
    2. Итератор (Iterator)
    3. Команда (Command)
    4. Наблюдатель (Observer)
    5. Посетитель (Visitor)
    6. Посредник (Mediator)
    7. Состояние (State)
    8. Стратегия (Strategy)
    9. Хранитель (Memento)
    10. Цепочка обязанностей (Chain of Responsibility)
    11. Шаблонный метод (Template Method)




Добавлена: 16-02-2009 | Изменена: 16-02-2009 | Пользователем: admin | Просмотров: 7218

Комментарии

Andriy 04-02-2011 08:37

while(true){ alert('Сюда нельзя! :)'); }

Полезно, спасибо!


Оставить комментарий



капча

Комментарий будет опубликован после проверки модератором

Для подсветки синтаксиса используйте тэги:
<pre><code class="синтаксис" >код</code></pre>
Подерживаются следующие: cpp php javascript sql html-xml css ini

Ремонт и диагностика компьютеров