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

Clean Architecture

Clean Architecture

Short introduction about Clean Architecture

Avatar for Thibaut Coutard

Thibaut Coutard

January 27, 2020
Tweet

More Decks by Thibaut Coutard

Other Decks in Technology

Transcript

  1. Uncle Bob • co-autor of the agile manifest • Author

    of Clean Code • His blog cleancoder.com
  2. Why ? • Easier to change • Easier to maintain

    • Less bugs • Less developers needed
  3. S.O.L.I.D • Single Responsibility Principle • Open Close Principle •

    Liskov Substitution Principle • Interface Segregation Principle
  4. S.O.L.I.D • Single Responsibility Principle • Open Close Principle •

    Liskov Substitution Principle • Interface Segregation Principle • Dependency Inversion Principle
  5. O.pen Close Principle • Open for extension - Close for

    modi fi cation • Protects higher-level components from changes in lower-level components
  6. I.nterface Segregation Principle • Harmful to depend on modules that

    contains more than you need • Give only the essentials
  7. UserAPI ———— +getAll +get +post UserList AddUser GetAllUserAPI ———— +getAll

    <I> GetUserAPI ———— +get <I> PostUserAPI ———— +post <I> UserPro fi le
  8. D.ependency Inversion Principle • Flexible using abstraction • Interfaces less

    volatiles • Never mention the name of anything concrete or volatile
  9. -M. Conway « organizations which design systems ... are constrained

    to produce designs which are copies of the communication structures of these organizations. »
  10. Clean Architecture • A good architecture allow changes • Be

    careful of duplication that is not real • Premature decisions are ones that have nothing to do with business requirements • Draw Boundaries between business and GUI, GUI and DB, DB and business
  11. Going deeper • https://github.com/coutar-t/GW2Achievements • Clean Architecture, Robert C. Martin

    • V.I.P.E.R • Clean Swift • https://speakerdeck.com/coutart/clean-architecture