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

https://github.com/shaman-dp/patterns

Паттерны проектирования на C++ с примерами
https://github.com/shaman-dp/patterns

cpp designpatterns development oop patterns patterns-cpp softwaredesign

Last synced: about 2 months ago
JSON representation

Паттерны проектирования на C++ с примерами

Awesome Lists containing this project

README

        

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

Реализованно:
- Фасад ([Facade](Structural/Facade.cpp))
- Фабрика ([Factory method](Creational/Factory.cpp))
- Снимок/Хранитель ([Memento](Behavioral/Memento.cpp))
- Строитель ([Builder](Creational/Builder.cpp))
- Одиночка ([Singleton](Creational/Singleton.cpp))
- Адаптер ([Adapter](Structural/Adapter.cpp))
- Декоратор ([Decorator](Structural/Decorator.cpp))

**Работа нацелена на начинающих программистов*

*Реализация представлена на C++*

*Добавить ссылки на примеры через README*

*Планируется дать реализацию на простых примерах и исчерпывающие комментарии для основных паттернов каждого из трех видов*

*Может оформить как статью и опубликовать на Хабре или Бусти?*

*добавить описание + результат работы для каждого паттерна*

## Виды паттернов проектирования:
1. Порождающие (Creational). Отвечают за удобное и безопасное создание объектов.
2. Структурные (Structural). Отвечают за управление структурными связями между объектами.
3. Поведенческие (Behavioral). Отвечают за координацию эффективного и безопасного взаимодействия между объектами.

> Выделение памяти для создания объекта класса Car:

> 1. Car car; (выделение статической памяти на стеке; автоматически уничтожится, когда выйдет из области видимости)
> 2. Car* car = new Car(); (выделение динамической памяти на куче; не удаляется автоматически, нужно освобождать вручную с помощью delete)

*разобрать SOLID, DRY, KISS*

## Developer

*Dmitri Posvyashenyi*