Паттерны проектирования с примерами на Golang
Это коллекция из 22 популярных паттернов проектирования с примерами кода на языке Go и кратким описанием паттерна.
В кратких описаниях будут употребляться классические термины, такие как Класс, Объект, Абстрактный Класс. Применимо к языку Go, это Тип, Значение этого типа и Интерфейс (где это возможно).
Умение правильно использовать шаблоны проектирования, так сказать, в нужном месте и в нужное время, помогут сохранить ваши нервные клетки.
Установка
Вы можете скачать этот репозиторий и запустить тесты
$ go get github.com/alexandergrom/go-patterns
Поведенческие паттерны (Behavioral)
Поведенческие паттерны делятся на два типа: 1. Паттерны уровня класса 2. Паттерны уровня объе...
Цепочка ответственности (Chain Of Responsibility)
Паттерн Chain Of Responsibility относится к поведенческим паттернам уровня объекта. Паттерн Chain...
Команда (Command)
Паттерн Command относится к поведенческим паттернам уровня объекта. Паттерн Command позволяет пре...
Итератор (Iterator)
Паттерн Iterator относится к поведенческим паттернам уровня объекта. Паттерн Iterator предоставля...
Посредник (Mediator)
Паттерн Mediator относится к поведенческим паттернам уровня объекта. Паттерн Mediator предоставля...
Хранитель (Memento)
Паттерн Memento относится к поведенческим паттернам уровня объекта. Паттерн Memento получает и со...
Наблюдатель (Observer)
Паттерн Observer относится к поведенческим паттернам уровня объекта. Паттерн Observer определяет ...
Состояние (State)
Паттерн State относится к поведенческим паттернам уровня объекта. Паттерн State позволяет объекту...
Стратегия (Strategy)
Паттерн Strategy относится к поведенческим паттернам уровня объекта. Паттерн Strategy определяет ...
Шаблонный метод (Template Method)
Паттерн Template Method относится к поведенческим паттернам уровня класса. Паттерн Template Metho...
Посетитель (Visitor)
Паттерн Visitor относится к поведенческим паттернам уровня объекта. Паттерн Visitor позволяет обо...
Порождающие паттерны (Creational)
Порождающие паттерны делятся на два типа: 1. Паттерны уровня класса 2. Паттерны уровня объект...
Абстрактная фабрика (Abstract Factory)
Паттерн Abstract Factory относится к порождающим паттернам уровня объекта. Паттерн Abstract Facto...
Строитель (Builder)
Паттерн Builder относится к порождающим паттернам уровня объекта. Паттерн Builder определяет проц...
Фабричный метод (FactoryMethod)
Паттерн Factory Method относится к порождающим паттернам уровня класса и сфокусирован только на о...
Прототип (Prototype)
Паттерн Prototype относится к порождающим паттернам уровня объекта. Паттерн Prototype позволяет с...
Одиночка (Singleton)
Паттерн Singleton относится к порождающим паттернам уровня объекта. Паттерн контролирует создание...
Структурные паттерны (Structural)
Структурные паттерны делятся на два типа: 1. Паттерны уровня класса 2. Паттерны уровня объект...
Адаптер (Adapter)
Паттерн Adapter относится к структурным паттернам уровня класса. Часто в новом проекте разработчи...
Мост (Bridge)
Паттерн Bridge относится к структурным паттернам уровня объекта. Паттерн Bridge позволяет раздели...
Компоновщик (Composite)
Паттерн Composite относится к структурным паттернам уровня объекта. Паттерн Composite группирует ...
Декоратор (Decorator)
Паттерн Decorator относится к структурным паттернам уровня объекта. Паттерн Decorator используетс...
Фасад (Facade)
Паттерн Facade относится к структурным паттернам уровня объекта. Паттерн Facade предоставляет выс...
Приспособленец (Flyweight)
Паттерн Flyweight относится к структурным паттернам уровня объекта. Паттерн Flyweight используетс...
Заместитель (Proxy)
Паттерн Proxy относится к структурным паттернам уровня объекта. Паттерн Proxy предоставляет объек...
Спецификация (Specification)
Спецификация — шаблон проектирования, посредством которого представление правил бизнес логики мож...