Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Типы шаблонов проектирования





Название Оригинальное название Описание  
Основные шаблоны (Fundamental)
Шаблон делегирования Delegation pattern Объект внешне выражает некоторое поведение, но в реальности передаёт ответственность за выполнение этого поведения связанному объекту  
Шаблон функционального дизайна Functional design Гарантирует, что каждый модуль компьютерной программы имеет только одну обязанность и исполняет её с минимумом побочных эффектов на другие части программы  
Неизменяемый объект Immutable Объект, который не может быть изменён после своего создания  
Интерфейс Interface Общий метод для структурирования компьютерных программ для того, чтобы их было проще понять  
Порождающие шаблоны (Creational) — шаблоны проектирования, которые абстрагируют процесс инстанцирования. Они позволяют сделать систему независимой от способа создания, композиции и представления объектов. Шаблон, порождающий классы, использует наследование, чтобы изменять инстанцируемый класс, а шаблон, порождающий объекты, делегирует инстанцирование другому объекту.
Абстрактная фабрика Abstract factory Класс, который представляет собой интерфейс для создания компонентов системы.  
Строитель Builder Класс, который представляет собой интерфейс для создания сложного объекта  
Фабричный метод Factory method Определяет интерфейс для создания объекта, но оставляет подклассам решение о том, какой класс инстанциировать  
Отложенная инициализация Lazy initialization Объект, инициализируемый во время первого обращения к нему  
Пул одиночек Multiton Гарантирует, что класс имеет поименованные экземпляры объекта и обеспечивает глобальную точку доступа к ним  
Объектный пул Object pool Класс, который представляет собой интерфейс для работы с набором инициализированных и готовых к использованию объектов  
Прототип Prototype Определяет интерфейс создания объекта через клонирование другого объекта вместо создания через конструктор  
Получение ресурса есть инициализация Resource acquisition is initialization (RAII) Получение некоторого ресурса совмещается с инициализацией, а освобождение — с уничтожением объекта  
Одиночка Singleton Класс, который может иметь только один экземпляр.  
Адаптер Adapter / Wrapper Объект, обеспечивающий взаимодействие двух других объектов, один из которых использует, а другой предоставляет несовместимый с первым интерфейс  
Мост Bridge Структура, позволяющая изменять интерфейс обращения и интерфейс реализации класса независимо  
Компоновщик Composite Объект, который объединяет в себе объекты, подобные ему самому  
Декоратор или Wrapper/Обёртка Decorator Класс, расширяющий функциональность другого класса без использования наследования  
Фасад Facade Объект, который абстрагирует работу с несколькими классами, объединяя их в единое целое  
Единая точка входа Front Controller Обеспечивает унифицированный интерфейс для интерфейсов в подсистеме. Front Controller определяет высокоуровневый интерфейс, упрощающий использование подсистемы  
Приспособленец Flyweight Это объект, представляющий себя как уникальный экземпляр в разных местах программы, но по факту не являющийся таковым  
Заместитель Proxy Объект, который является посредником между двумя другими объектами, и который реализовывает/ограничивает доступ к объекту, к которому обращаются через него  
Поведенческие шаблоны (Behavioral) определяют взаимодействие между объектами, увеличивая таким образом его гибкость.
Цепочка ответственности Chain of responsibility Предназначен для организации в системе уровней ответственности  
Команда, Action, Transaction Command Представляет действие. Объект команды заключает в себе само действие и его параметры  
Интерпретатор Interpreter Решает часто встречающуюся, но подверженную изменениям, задачу  
Итератор, Cursor Iterator Представляет собой объект, позволяющий получить последовательный доступ к элементам объекта-агрегата без использования описаний каждого из объектов, входящий в состав агрегации  
Посредник Mediator Обеспечивает взаимодействие множества объектов, формируя при этом слабую связанность и избавляя объекты от необходимости явно ссылаться друг на друга  
Хранитель, Token Memento Позволяет не нарушая инкапсуляцию зафиксировать и сохранить внутреннее состояния объекта так, чтобы позднее восстановить его в этом состоянии  
  Null object Предотвращает нулевые указатели, предоставляя объект «по умолчанию»  
Наблюдатель, Dependents, Publish-Subscribe, Listener Observer или Publish/subscribe Определяет зависимость типа «один ко многим» между объектами таким образом, что при изменении состояния одного объекта все зависящие от него оповещаются об этом событии  
  Specification Служит для связывания бизнес-логики  
Состояние, Objects for States State Используется в тех случаях, когда во время выполнения программы объект должен менять свое поведение в зависимости от своего состояния  
Стратегия Strategy Предназначен для определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости  
Шаблонный метод Template method Определяет основу алгоритма и позволяет наследникам переопределять некоторые шаги алгоритма, не изменяя его структуру в целом.  
Посетитель Visitor Описывает операцию, которая выполняется над объектами других классов. При изменении класса Visitor нет необходимости изменять обслуживаемые классы.  

Вопрос №24. Шаблоны проектирования Façade и Adapter.








Date: 2016-07-25; view: 500; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию