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++ с примерами
- Host: GitHub
- URL: https://github.com/shaman-dp/patterns
- Owner: Shaman-dp
- Created: 2025-03-26T10:58:31.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2025-04-12T20:44:29.000Z (2 months ago)
- Last Synced: 2025-04-12T21:31:48.222Z (2 months ago)
- Topics: cpp, designpatterns, development, oop, patterns, patterns-cpp, softwaredesign
- Language: C++
- Homepage:
- Size: 11.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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*