Шаблонный метод (Template Method) определяет общий алгоритм поведения подклассов, позволяя им переопределить отдельные шаги этого алгоритма без изменения его структуры. Когда использовать шаблонный метод? Когда планируется, что в будущем подклассы должны будут переопределять различные этапы алгоритма без изменения его структуры…
Команда (Command)
Общая инфа Паттерн «Команда» (Command) позволяет инкапсулировать запрос на выполнение определенного действия в виде отдельного объекта. Этот объект запроса на действие и называется командой. При этом объекты, инициирующие запросы на выполнение действия, отделяются от объектов, которые выполняют это действие. Команды…
Наблюдатель (Observer)
Паттерн «Наблюдатель» (Observer) представляет поведенческий шаблон проектирования, который использует отношение «один ко многим». В этом отношении есть один наблюдаемый объект и множество наблюдателей. И при изменении наблюдаемого объекта автоматически происходит оповещение всех наблюдателей. Данный паттерн еще называют Publisher-Subscriber (издатель-подписчик), поскольку…
Стратегия (Strategy)
Паттерн Стратегия (Strategy) представляет шаблон проектирования, который определяет набор алгоритмов, инкапсулирует каждый из них и обеспечивает их взаимозаменяемость. В зависимости от ситуации мы можем легко заменить один используемый алгоритм другим. При этом замена алгоритма происходит независимо от объекта, который использует…
Строитель (Builder)
Строитель (Builder) — шаблон проектирования, который инкапсулирует создание объекта и позволяет разделить его на различные этапы. Когда использовать паттерн Строитель? Когда процесс создания нового объекта не должен зависеть от того, из каких частей этот объект состоит и как эти части…
Прототип (Prototype)
Паттерн Прототип (Prototype) позволяет создавать объекты на основе уже ранее созданных объектов-прототипов. То есть по сути данный паттерн предлагает технику клонирования объектов. Когда использовать Прототип? Когда конкретный тип создаваемого объекта должен определяться динамически во время выполнения Когда нежелательно создание отдельной…
Одиночка (Singleton, Синглтон)
Одиночка (Singleton, Синглтон) — порождающий паттерн, который гарантирует, что для определенного класса будет создан только один объект, а также предоставит к этому объекту точку доступа. Когда надо использовать Синглтон? Когда необходимо, чтобы для класса существовал только один экземпляр Синглтон позволяет…
Абстрактная фабрика» (Abstract Factory)
Паттерн «Абстрактная фабрика» (Abstract Factory) предоставляет интерфейс для создания семейств взаимосвязанных объектов с определенными интерфейсами без указания конкретных типов данных объектов. Когда использовать абстрактную фабрику Когда система не должна зависеть от способа создания и компоновки новых объектов Когда создаваемые объекты…
Фабричный метод (Factory Method)
Фабричный метод (Factory Method) — это паттерн, который определяет интерфейс для создания объектов некоторого класса, но непосредственное решение о том, объект какого класса создавать происходит в подклассах. То есть паттерн предполагает, что базовый класс делегирует создание объектов классам-наследникам. Когда надо…
Шаблоны игрового проектирования
Паттерны GoF(Банда 4) Порождающие паттерны: Фабричный метод (Factory Method) Фабричный метод (Factory Method) — это паттерн, который определяет интерфейс для создания объектов некоторого класса, но непосредственное решение о том, объект какого класса создавать происходит в подклассах. То есть паттерн предполагает,…