Skip to content

Latest commit

 

History

History
63 lines (62 loc) · 1.25 KB

design-patterns.md

File metadata and controls

63 lines (62 loc) · 1.25 KB

Design Patterns

  • Design Patterns
    • Creational
      • Factory Method
      • Abstract Factory
      • Builder
      • Singleton
    • Structural
      • Facade
      • Proxy
      • Decorator
      • Composite
      • Adapter
      • Flyweight
      • Bridge
    • Behavioral
      • Strategy
      • Template method
      • Visitor
      • Chain of Responsibility
      • Mediator
      • State
      • Observer
  • Principles
    • SOLID
      • Dependency Inversion vs Inversion Of Control vs Dependency Injection
    • DRY
    • KISS
    • YAGNI
    • Separation of Concerns
    • Least Knowledge
    • The Hollywood
    • Favor Composition over Inheritance
    • Program to an interface, not an implementation
  • Code Smells
    • Bloaters
      • Long Method
      • Large Class
      • Primitive Obsession
      • Long Parameter List
      • Data Clumps
    • Object-Orientation Abusers
      • Switch Statements
      • Temporary Field
      • Refused Bequest
      • Alternative Classes with Different Interfaces
    • Change Preventers
      • Divergent Change
      • Shotgun Surgery
      • Parallel Inheritance Hierarchies
    • Dispensables
      • Comments
      • Duplicate Code
      • Lazy Class
      • Data Class
      • Dead Code
      • Speculative Generality
    • Couplers
      • Feature Envy
      • Inappropriate Intimacy
      • Message Chains
      • Middle Man