Sobes.tech
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:

  1. Creational Patterns — responsible for object creation:

    • Singleton
    • Factory Method
    • Abstract Factory
    • Builder
    • Prototype
  2. Structural Patterns — define how classes and objects are combined into larger structures:

    • Adapter
    • Decorator
    • Proxy
    • Composite
    • Facade
    • Bridge
    • Flyweight
  3. 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.