Kihagyás

SOLID Software design

SOLID Elvek

  • __S__ingle responsibility
  • __O__pen Closed Principle
  • __L__Iskov Substitution Principle
  • __I__nterface Segregation Principle
  • __D__ependency Inversion Principle

Single responsibility

  • Egy felelősségi kör
  • Ne legyenek "mindenható" objektumok
  • Több objektum ne osztozzon egy felelősségi körön

Open Closed Principle

  • Egy osztály legyen nyílt a kiterjesztésre, de zárt a módosításra
  • A funkcionalitás bővítéséhez ne kelljen az osztályt módosítani
    • Kompozíciókkal és leszármazással megoldható

Liskov Substitution Principle

  • A leszármazott osztály őrizze meg az ősosztály viselkedését
  • Ha az ősosztály típus helyére a leszármazott osztályt tesszük, a funkcionalitás maradjon meg
    • Ezzel "teljesíti", amit a típustól elvárunk

Interface Segregation Principle

  • Egyetlen kliens se függjön olyan eljárásoktól, amiket nem is használ
    • Az erre a célra készített interfészek jellemzően az 'able' végződést kapja (Comparable, Iterable)

Dependency Inversion Principle

  • Magas szintű modul ne függjön alacsony szinttű moduloktól
  • Mindkettő absztrakcióktól függjön
    • API-k