Junior — Middle
Can you name the main patterns used in software system design?
sobes.tech AI
Answer from AI
The main design patterns of software systems can be divided into three groups:
-
Creational Patterns — responsible for object creation:
- Singleton
- Factory Method
- Abstract Factory
- Builder
- Prototype
-
Structural Patterns — define how classes and objects are combined into larger structures:
- Adapter
- Decorator
- Proxy
- Composite
- Facade
- Bridge
- Flyweight
-
Behavioral Patterns — responsible for interactions between objects:
- Observer
- Strategy
- Command
- Iterator
- State
- Template Method
- Mediator
These patterns help create flexible, extensible, and maintainable systems, solving common design problems.