Основные разновидности паттернов проектирования и их применение

  • 07 сент. 2010 г.
  • 1372 Слова
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТОРГОВО-ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

УДК 004.053

Реферат

ОСНОВНЫЕ РАЗНОВИДНОСТИ ПАТТЕРНОВ ПРОЕКТИРОВАНИЯ И ИХ ПРИМЕНЕНИЕ

Подготовили:
Градиль Максим Дмитриевич,
студент 4 курса ПИЭ
lvlax@rambler.ru;
Ганенок Александр Григорьевич,
Студент 4 курса ПИЭ
Greg7515@yandex.ru

Пятигорск 2010 г.
Оглавление

Вступление. 3
Порождающие паттерны 4
Паттерныповедения 5
Структурные паттерны 6
Применение. 6
Литература. 9

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

Существует 3 основных категории паттернов:
• Порождающие
•Структурные
• Поведенческие

Порождающие паттерны — паттерны проектирования, которые абстрагируют процесс инстанцирования. Они позволяют сделать систему независимой от способа создания, композиции и представления объектов. Паттерн, порождающий классы, использует наследование, чтобы изменять инстанцируемый класс, а паттерн, порождающий объекты, делегирует инстанцирование другому объекту. Примерами этихпаттернов являются Абстрактная фабрика, Фабричный метод и Одиночка.
Абстрактная фабрика — порождающий паттерн проектирования, позволяющий изменять поведение системы, варьируя создаваемые объекты, при этом сохраняя интерфейсы. Он позволяет создавать целые группы взаимосвязанных объектов, которые, будучи созданными одной фабрикой, реализуют общее поведение. Паттерн реализуется созданием абстрактного классаFactory, который представляет собой интерфейс для создания компонентов системы (например, для оконного интерфейса он может создавать окна и кнопки). Затем пишутся наследующиеся от него классы, реализующие этот интерфейс.
Фабричный метод — предоставляет подклассам интерфейс для создания экземпляров некоторого класса. В момент создания наследники могут определить, какой класс инстанцировать. Инымисловами, Фабрика делегирует создание объектов наследникам родительского класса. Это позволяет использовать в коде программы не специфические классы, а манипулировать абстрактными объектами на более высоком уровне. Также известен под названием виртуальный конструктор.
Одиночка гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную...
tracking img