design-patterns
C++ Software Design Patterns
Repository Web Pages
github
gitlab (main)
gitverse (Russia)
Installation
- git clone --branch develop --recurse-submodules https://gitlab.com/FokinDenis88/design-patterns.git
- (From the working dir = design-patterns) cmake -B build/visual-studio
Realized Design Patterns
AI:
- Not realized
Anti-Pattern:
- Not realized
Architectural:
- mvc - Not realized.
Behavioral:
- Chain-of-Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Null-Object
- Observer
- State
- Strategy
- Template-Method
- Visitor
Concurrency:
- Not realized
Cpp-Idioms:
- attorney-client - Not realized
- copy-n-swap - Not realized
- crtp
- d-pointer
- named parameter
- non-virtual-interface - Not realized
- Opaque-Pointer
- pimpl
Creational:
- Abstract-Factory
- Builder
- Dependency-Injection
- Factory-Method
- Lazy-Initialization
- Object-Pool
- Prototype
- Singleton
Database:
- Not realized
Distributed-System:
- Not realized
GameDev:
- Nothing is Done in GameDev patterns. Only empty class stubs.
- Bytecode
- Component
- Data-Locality
- Dirty-Flag
- Double-Buffer
- Event-Queue
- Game-Loop
- Service-Locator
- Spatial-Partition
- Subclass-Sandbox
- Type-Object
- Update-Method
Structural:
UI:
- Not realized.
Contact
Skype: live:dragon8806
Telegram: https://t.me/Furious_Dragon_88
VK (Russia): https://vk.com/furious__dragon
Discord: ID: 1203018807162175522 fokin_denis_yurievich_ User Name: fokin_denis_yurievich_
Email: fokin-denis-88-code@ya.ru
Gitter: @fokindenis88_gitlab:gitter.im
Support
Bitcoin and other cryptocurrency:
Bitcoin (Zengo): 3E18A9tKarZSCUUCPiBympih7iy9LFvkG5
Ethereum (Zengo): 0xa0B86C071A52A14C01f53c0D1E887D0fe08c6C0f
Telegram cryptocurrency:
Toncoin (TON): UQA5lQeCGaWC04Fqv_OF5WggsxCevdYqopqUTPBtYeERYJwg
Dollar (USDT): TJa9G18po9WM6y6vqgGU2CagM4oqdWfcgN
Bitcoin (BTC): 17jSk2fvfGwQ9vKje4jyEMekrHHSJDL9Y1
World:
PayPal: -
Visa: -
Stripe: -
Payeer: P1113895997
Volet: U 1138 0788 4280, E 8013 3382 9320
Profee: -
Patreon: -
Buy Me a Coffee: -
Ko-Fi: -
China:
UnionPay: -
Japan:
JCB (Japan Credit Bureau): -
Russia:
Карта Мир (ВТБ): 2200 2459 3616 1947
ЮMoney: 5599002065385959
Ozon Card: 2204240208423477
VK Pay: https://vk.com/furious__dragon
Boosty: https://boosty.to/furious_dragon
YandexPay: -
Roadmap
If you have ideas for releases in the future, it is a good idea to list them in the README.
Contributing
State if you are open to contributions and what your requirements are for accepting them.
For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
Authors and acknowledgment
Show your appreciation to those who have contributed to the project.
License
MIT License. Open source code.
Project status
Active