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

Clean Architecture

Clean Architecture

Short introduction about Clean Architecture

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