Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Principi SOLID - Le ricette dello zio Bob per un OOP da leccarsi i baffi

Principi SOLID - Le ricette dello zio Bob per un OOP da leccarsi i baffi

Presentation about SOLID principles. You can find information about Single Responsibility Principle, Open/Close Principle, Liskov's Substitution Principle, Interface Segregation Principle and Dependency Inversion Principle.

Nicola Sanitate

May 24, 2018
Tweet

More Decks by Nicola Sanitate

Other Decks in Programming

Transcript

  1. CATTIVO DESIGN • Rigidità - difficile da cambiare, troppe parti

    coinvolte • Fragilità - quando si cambia altre parti del sistema di rompono • Immobilità - difficile riusare in altre applicazioni, troppo innestato
  2. PRINCIPI DI SOFTWARE DESIGN • SRP - Principio di singola

    responsabilità • OCP - Principio aperto/chiuso • LSP - Principio di sostituzione di Liskov • ISP - Principio di segregazione delle interfacce • DIP - Principio di inversione delle dipendenze
  3. PRINCIPIO DI SOSTITUZIONE DI LISKOV Le funzioni che usano riferimenti

    a classi base devono essere capaci di usare oggetti di classi derivate senza conoscerli
  4. LSP Se assomiglia ad un’anatra e starnazza come un’anatra ma

    ha bisogno di batterie forse hai sbagliato astrazione
  5. Posso sostituire il mio oggetto con un suo sottotipo mantenendo

    inalterate le funzionalità già implementate?
  6. PRINCIPIO DI INVERSIONE DELLE DIPENDENZE Le astrazioni non devono dipendere

    dai dettagli. I dettagli dovrebbero dipendere dalle astrazioni.
  7. TITOLI DI CODA Single Responsibility Principle https://github.com/nsanitate/brigata-di-cucina-srp Open/Closed Principle https://github.com/nsanitate/minestraio-ocp

    Liskov Substitution Principle https://github.com/nsanitate/menu-lsp Interface Segregation Principle https://github.com/nsanitate/sminuzzatore-isp Dependency Inversion Principle https://github.com/nsanitate/sommelier-peppe-dip