Design Patterns (Шаблоны проектирования)


На главную

Создающие Структурные Поведенческие Распределения
обязанностей

Системные
Factory Method
Abstract Factory
Builder
Prototype
Singleton
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
Interpreter
Chain Of Responsibility
Command
Iterator
Mediator
Memento
Observer
State
Strategy
Template Method
Visitor
Controller
Creator
High Cohesion
Indirection
Information Expert
Low Coupling
Polymorphism
Pure Fabrication
Callback
Successive Update
Worker Thread

Создающие шаблоны:


Singleton
Используется для создания объекта класса в единственном экземпляре. Если создан один объект данного класса, дальнейшие попытки создания объектов этого класса не дадут никаких результатов. Это обеспечивается за счет присутствия в классе статической переменной, которая указывает, был ли уже создан экземпляр класса.

Prototype
Позволяет создавать новые объекты с помощью клонирования некоторого объекта, который задается в качестве прототипа. Клонирование происходит путем создания динамической копии прототипа.
Цель использования шаблона - скрыть от клиента конкретные классы, чтобы уменьшить число известных ему имен. Тем самым облегчается модернизация отдельных частей системы.

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

Abstract Factory
Предоставляет единый интерфейс для создаваемых объектов, которые относятся к одному семейству. При этом не имеет значения, к какому классу принадлежат объекты.
При использовании Abstract Factory система становится более гибкой, поскольку можно подменять связанные или зависимые объекты, сохраняя при этом их интерфейсы.

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


На главную

Автотехника Сантехника Флора Косметика Одежда Часы

Fatal error: Call to a member function return_links() on a non-object in /home/h17u52/public_html/trubetskoy1.ru/_count.inc on line 21