-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This repository section is still in development...
The software design patterns are the time-tested concepts of the laconic self-explanatory solutions to the common trivial problems in the architecture of programming products. Their correct application can help the software engineer to adhere to the S.O.L.I.D. principles and GRASP rules in order to get maintainable, extensible, modular and transparent system.
Those kind of patterns are responsible for organizing the algorithms and techniques of objects interactions and their communications (often based on polymorphism and inheritance concepts):
- Chain Of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer (Publish/Subscribe)
- State
- Strategy
- Template Method
- Visitor
Those patterns are responsible for objects creation mechanisms (often based on delegation and polymorphism concepts), which are suitable for every concrete situation:
- Abstract Factory
- Builder
- Factory Method
- Prototype
- Singleton
Those patterns are responsible for organization the objects structures and relationships (often based on composition, delegation, abstraction, polymorphism and encapsulations concepts):
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy