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

A craftsman’s guide to designing clean architecture

A craftsman’s guide to designing clean architecture

In this talk, Software Craftsman Marcus Biel describes how to design a Clean Architecture.

Marcus Biel

October 08, 2018
Tweet

More Decks by Marcus Biel

Other Decks in Technology

Transcript

  1. Marcus Biel, Software Craftsman London | 8. October 2018
 A

    craftsman’s guide to designing clean architecture
  2. Copyright 2018 Marcus Biel https://cleancodeacademy.com Defining a Clean Architecture Domain

    Infrastructure HTTPS REST SOAP http://bit.ly/HexagonalArchitecture
  3. Copyright 2018 Marcus Biel https://cleancodeacademy.com About Me Clean Code Evangelist

    • Public Speaker Author • Java Influencer • JCP Member Clean Code Coach • Java Consultant @MarcusBiel https://cleancodeacademy.com
  4. Copyright 2018 Marcus Biel https://cleancodeacademy.com Building Blocks of a Clean

    Architecture ‣ Size ‣ Naming ‣ Encapsulation ‣ Coupling and Cohesion
  5. Copyright 2018 Marcus Biel https://cleancodeacademy.com Naming Clean names drive high

    cohesion 
 (Customer, AccountNumber) Use service pattern judiciously Clean names are team work Rename on new insights
  6. Copyright 2018 Marcus Biel https://cleancodeacademy.com Encapsulation technically enforces of how

    the system should be used. Getters and Setters violate encapsulation. Use package private more often! http://bit.ly/EvilGettersAndSetters
  7. Copyright 2018 Marcus Biel https://cleancodeacademy.com Building Blocks of a Clean

    Architecture ‣ Size ‣ Naming ‣ Encapsulation ‣ Coupling and Cohesion
  8. Copyright 2018 Marcus Biel https://cleancodeacademy.com Coupling Strength ‣ Type of

    Coupling ‣ Timing of Coupling ‣ Distance of the Components
  9. Copyright 2018 Marcus Biel https://cleancodeacademy.com What is Clean Architecture? I

    would advise students to pay more attention to the fundamental ideas rather than the latest technology. The technology will be out-of-date before they graduate. Fundamental ideas never get out of date. — David L. Parnas “ ”