Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/AlexanderGrom/go-patterns

Design patterns in Golang
https://github.com/AlexanderGrom/go-patterns

go golang patterns

Last synced: 28 days ago
JSON representation

Design patterns in Golang

Awesome Lists containing this project

README

        

## Паттерны проектирования с примерами на Golang

Это коллекция из 22 популярных паттернов проектирования с примерами кода на языке Go и кратким описанием паттерна.

В кратких описаниях будут употребляться классические термины, такие как Класс, Объект, Абстрактный Класс. Применимо к языку Go, это Тип, Значение этого типа и Интерфейс (где это возможно).

Умение правильно использовать шаблоны проектирования, так сказать, в нужном месте и в нужное время, помогут сохранить ваши нервные клетки.

## Установка

Вы можете скачать этот репозиторий и запустить тесты

```bash
$ go get github.com/alexandergrom/go-patterns
```

## Паттерны

### [Порождающие (Creational)](Creational)

* [Абстрактная фабрика (Abstract Factory)](Creational/AbstractFactory)
* [Строитель (Builder)](Creational/Builder)
* [Фабричный метод (Factory Method)](Creational/FactoryMethod)
* [Прототип (Prototype)](Creational/Prototype)
* [Одиночка (Singleton)](Creational/Singleton)

### [Структурные (Structural)](Structural)

* [Адаптер (Adapter)](Structural/Adapter)
* [Мост (Bridge)](Structural/Bridge)
* [Компоновщик (Composite)](Structural/Composite)
* [Декоратор (Decorator)](Structural/Decorator)
* [Фасад (Facade)](Structural/Facade)
* [Приспособленец (Flyweight)](Structural/Flyweight)
* [Заместитель (Proxy)](Structural/Proxy)

### [Поведенческие (Behavioral)](Behavioral)

* [Цепочка ответственности (Chain Of Responsibility)](Behavioral/ChainOfResponsibility)
* [Команда (Command)](Behavioral/Command)
* [Итератор (Iterator)](Behavioral/Iterator)
* [Посредник (Mediator)](Behavioral/Mediator)
* [Хранитель (Memento)](Behavioral/Memento)
* [Наблюдатель (Observer)](Behavioral/Observer)
* [Состояние (State)](Behavioral/State)
* [Стратегия (Strategy)](Behavioral/Strategy)
* [Шаблонный метод (Template Method)](Behavioral/TemplateMethod)
* [Посетитель (Visitor)](Behavioral/Visitor)

## -~- THE END -~-