Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Clean Architecture
Search
Lucas Arantes
January 22, 2018
Programming
3
80
Clean Architecture
Lucas Arantes
January 22, 2018
Tweet
Share
More Decks by Lucas Arantes
See All by Lucas Arantes
Elixir 101
lucasprag
1
250
The pragmatic programmer
lucasprag
0
110
Hello Docker!
lucasprag
0
72
The Pragmatic Programmer
lucasprag
1
160
Hello Swift!
lucasprag
1
47
Other Decks in Programming
See All in Programming
イベントストーミングのはじめかた / Getting Started with Event Storming
nrslib
1
690
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
7
1.7k
GeistFabrik and AI-augmented software development
adewale
PRO
0
160
FlutterKaigi 2025 システム裏側
yumnumm
0
1.2k
歴史から学ぶ「Why PHP?」 PHPを書く理由を改めて理解する / Learning from History: “Why PHP?” Rediscovering the Reasons for Writing PHP
seike460
PRO
0
170
AIを駆使して新しい技術を効率的に理解する方法
nogu66
1
660
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
2
460
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
8
4.6k
予防に勝る防御なし(2025年版) - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHP Conference Fukuoka 2025
twada
PRO
39
13k
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
5
2.2k
Web エンジニアが JavaScript で AI Agent を作る / JSConf JP 2025 sponsor session
izumin5210
4
2k
Eloquentを使ってどこまでコードの治安を保てるのか?を新人が考察してみた
itokoh0405
0
3.2k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
59k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Music & Morning Musume
bryan
46
7k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Transcript
Clean Architecture Lucas Oliveira
None
twitter.com/fbzga | magnetis.com.br
What is clean architecture?
the problem
None
It is screaming: web framework!
The web is a delivery system request
Yet it dominates your code
proposal
None
None
None
None
None
None
What about MVC? Trygve Reenskaug
MVC as a software architecture
this is not what I mean =(
None
Let's see a real world use case
app/models/invoice.rb
Who is calling?
None
None
None
None
Who you gonna call? Accountant Accounting Caretaker Operator Salesman Bank
Map
More important than that, it separates
What the system is
Data stable
What the system does
Behavior changes
Now, I can see what our app does.
Especial thanks to: Iugu | Uncle Bob | Fabiano Beselga
Thank you
When should I use those use cases and when not?
this is a FAKE tweet
this is a FAKE tweet