CLEAN ARCHITECTURE
CROSSING BOUNDARIES
PRESENTER
USE CASE
OUTPUT PORT
USE CASE
INPUT PORT
USE CASE
INTERACTION
CONTROLLER
CONTROLE DE FLUXO
Slide 17
Slide 17 text
CLEAN ARCHITECTURE
DEPENDENCY RULE
▸ A dependência de código
somente pode apontar para
dentro
▸ Os círculos internos não
podem conhecer nada sobre
os círculos externos
▸ Não está restrito a
quantidade de círculos
Slide 18
Slide 18 text
CLEAN ARCHITECTURE
CONSEQUÊNCIAS
▸ Independência de Framework
▸ Testável (Unit Test)
▸ Independência de UI
▸ Independência de DB
▸ Independência de agentes externos
Slide 19
Slide 19 text
DO NOT DEPEND ON THINGS
THAT CHANGE OR ARE LIKELY
TO CHANGE
Uncle Bob
CLEAN ARCHITECTURE
Slide 20
Slide 20 text
ANDROID
ARCHITECTURE
Slide 21
Slide 21 text
ANDROID ARCHITECTURE
DOMAIN LAYER
JAVA
BUSINESS RULES
DATA LAYER
ANDROID LIBRARY
DATA
PRESENTATION LAYER
JAVA
MVC
MVP
MVVM
APPLICATION LAYER
ANDROID
APP
UI
Slide 22
Slide 22 text
ANDROID ARCHITECTURE
CONSEQUÊNCIAS
▸ Fácil de Manter
▸ Fácil de testar (Unit Test)
▸ Muito coesa
▸ Desacoplada
▸ S.O.L.I.D