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

May 16, 2018
Tweet

More Decks by Marcus Biel

Other Decks in Technology

Transcript

  1. Marcus Biel, Software Craftsman Lightweight Java User Group Munich
 16.

    May 2018
 A craftsman’s guide to designing clean architecture
  2. Copyright 2018 Marcus Biel https://cleancodeacademy.com About Me Clean Code Evangelist

    • Founder of Clean Code Academy • Public Speaker • Author • Java Influencer • JCP Member • Clean Code Coach • Java Consultant @MarcusBiel https://cleancodeacademy.com
  3. Copyright 2018 Marcus Biel https://cleancodeacademy.com Defining a Clean Architecture Domain

    Infrastructure HTTPS REST SOAP http://bit.ly/HexagonalArchitecture
  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 “ ”
  10. Marcus Biel, Software Craftsman Lightweight Java User Group Munich
 16.

    May 2018
 A craftsman’s guide to designing clean architecture