Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
A craftsman’s guide to designing clean architec...
Search
Marcus Biel
October 20, 2018
Technology
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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 20, 2018
More Decks by Marcus Biel
See All by Marcus Biel
Java, Turbocharged!
marcusbiel
0
52
Java, Turbocharged!
marcusbiel
0
68
Java, Turbocharged!
marcusbiel
0
130
Java, Turbocharged!
marcusbiel
0
50
Java, Turbocharged
marcusbiel
0
45
Listen to Dad
marcusbiel
0
60
Java, Turbocharged
marcusbiel
0
110
Java, Turbocharged
marcusbiel
0
77
A craftsman’s guide to designing clean architecture (german)
marcusbiel
0
74
Other Decks in Technology
See All in Technology
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
Getting Started with Google Antigravity
glaforge
0
320
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
440
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
180
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
180
React改造してみた
tsukina_7mochi
0
120
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
930
USB PDを使ってスマホを労わりたい
raspython3
0
180
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
740
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
190
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
890
フィンテック養成勉強会#68
finengine
0
150
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
570
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
740
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Faster Mobile Websites
deanohume
310
32k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
Prompt Engineering for Job Search
mfonobong
0
520
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Transcript
Marcus Biel, Software Craftsman Krakow | 20. October 2018 A
craftsman’s guide to designing clean architecture
Copyright 2018 Marcus Biel https://cleancodeacademy.com Defining a Clean Architecture
Copyright 2018 Marcus Biel https://cleancodeacademy.com Defining a Clean Architecture
Copyright 2018 Marcus Biel https://cleancodeacademy.com Defining a Clean Architecture
Copyright 2018 Marcus Biel https://cleancodeacademy.com Defining a Clean Architecture METHODS
CLASSES PACKAGES MODULES
Copyright 2018 Marcus Biel https://cleancodeacademy.com Defining a Clean Architecture Domain
Infrastructure HTTPS REST SOAP http://bit.ly/HexagonalArchitecture
Copyright 2018 Marcus Biel https://cleancodeacademy.com Defining a Clean Architecture
Copyright 2018 Marcus Biel https://cleancodeacademy.com Defining a Clean Architecture Domain
Infrastructure HTTPS REST SOAP http://bit.ly/HexagonalArchitecture
Copyright 2018 Marcus Biel https://cleancodeacademy.com Defining a Clean Architecture
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
Copyright 2018 Marcus Biel https://cleancodeacademy.com Preconditions Mutual Trust and Respect
No Fear Product before Process Technical Debt vs. Organisational Debt Developers are Stakeholders
Copyright 2018 Marcus Biel https://cleancodeacademy.com Building Blocks of a Clean
Architecture ‣ Testing ‣ Size ‣ Naming ‣ Encapsulation ‣ Coupling and Cohesion
Copyright 2018 Marcus Biel https://cleancodeacademy.com Testing Test first (TDD) or
Test Last Let's you eat your own dog food Aim for High Branch Coverage
Copyright 2018 Marcus Biel https://cleancodeacademy.com Size METHODS CLASSES PACKAGES MODULES
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
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
Copyright 2018 Marcus Biel https://cleancodeacademy.com Coupling Tight Coupling Loose Coupling
Copyright 2018 Marcus Biel https://cleancodeacademy.com Coupling Strength ‣ Type of
Coupling ‣ Distance of the Components ‣ Time of Coupling
Copyright 2018 Marcus Biel https://cleancodeacademy.com Type of Coupling
Copyright 2018 Marcus Biel https://cleancodeacademy.com Distance of the Components METHODS
CLASSES PACKAGES MODULES
Copyright 2018 Marcus Biel https://cleancodeacademy.com Distance of the Components
Copyright 2018 Marcus Biel https://cleancodeacademy.com Distance of the Components
Copyright 2018 Marcus Biel https://cleancodeacademy.com Distance of the Components
Copyright 2018 Marcus Biel https://cleancodeacademy.com Time of Coupling
Copyright 2018 Marcus Biel https://cleancodeacademy.com Cohesion Low Cohesion High Cohesion
Copyright 2018 Marcus Biel https://cleancodeacademy.com Cohesion Low Cohesion High Cohesion
Copyright 2018 Marcus Biel https://cleancodeacademy.com Cohesion High Cohesion requires in-depth
knowledge of the domain.
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 “ ”
Copyright 2018 Marcus Biel https://cleancodeacademy.com Slides: http://bit.ly/ByteMyCode Questions?
[email protected]
Thanks!