Fat
controllers
Fat models
+
Skinny
controllers
Service
Objects
Interactors
Domain
Objects
Use cases
2010 2012 - 2014
Slide 7
Slide 7 text
Fat
controllers
Fat models
+
Skinny
controllers
Service
Objects
Interactors
2010 2012 - 2014
2009
Domain
Objects
Use cases
Slide 8
Slide 8 text
Fat
controllers
Fat models
+
Skinny
controllers
Service
Objects
Interactors
2010 2012 - 2014
2011
2009
Domain
Objects
Use cases
Slide 9
Slide 9 text
Fat
controllers
Fat models
+
Skinny
controllers
Service
Objects
Interactors
2010 2012 - 2014
2011
2009
Domain
Objects
Use cases
Slide 10
Slide 10 text
Fat
controllers
Fat models
+
Skinny
controllers
Service
Objects
Interactors
2010 2012 - 2014
2011
2009
Domain
Objects
Use cases
Slide 11
Slide 11 text
Fat
controllers
Fat models
+
Skinny
controllers
Service
Objects
Interactors
2010 2012 - 2014
2011
2009
Domain
Objects
Use cases
Request model é o input que
acionará um caso de uso e
que gerará um response
model (o resultado) que
determinará o output para o
usuário.
Slide 12
Slide 12 text
Fat
controllers
Fat models
+
Skinny
controllers
Service
Objects
Interactors
2010 2012 - 2014
2011
2009
Domain
Objects
Use cases
Request model é o input que
acionará um caso de uso e
que gerará um response
model (o resultado) que
determinará o output para o
usuário.
Slide 13
Slide 13 text
Fat
controllers
Fat models
+
Skinny
controllers
Service
Objects
Interactors
2010 2012 - 2014
2011
2009
Domain
Objects
Use cases
Request model é o input que
acionará um caso de uso e
que gerará um response
model (o resultado) que
determinará o output para o
usuário.
Slide 14
Slide 14 text
Fat
controllers
Fat models
+
Skinny
controllers
Service
Objects
Interactors
2010 2012 - 2014
2011
2009
Domain
Objects
Use cases
Request model é o input que
acionará um caso de uso e
que gerará um response
model (o resultado) que
determinará o output para o
usuário.
Slide 15
Slide 15 text
Fat
controllers
Fat models
+
Skinny
controllers
Service
Objects
Interactors
2010 2012 - 2014
2011
2009
Domain
Objects
Use cases
Request model é o input que
acionará um caso de uso e
que gerará um response
model (o resultado) que
determinará o output para o
usuário.
Slide 16
Slide 16 text
Fat
controllers
Fat models
+
Skinny
controllers
Service
Objects
Interactors
2010 2012 - 2014
2011
2009
Domain
Objects
Use cases
Request model é o input que
acionará um caso de uso e
que gerará um response
model (o resultado) que
determinará o output para o
usuário.
Slide 17
Slide 17 text
Fat
controllers
Fat models
+
Skinny
controllers
Service
Objects
Interactors
2010 2012 - 2014
2011
2009
Domain
Objects
Use cases
Request model é o input que
acionará um caso de uso ....
Slide 18
Slide 18 text
Fat
controllers
Fat models
+
Skinny
controllers
Service
Objects
Interactors
Domain
Objects
Use cases
2010 2012 - 2014
Service Objects
Controller
View
Request
Response
https://github.com/serradura/from-fat-controllers-to-use-cases/commit/0789d32007311334c00d9aff311add0f7e5304fa
Model
Service Objects
Slide 27
Slide 27 text
Service Objects com herança (excesso)
Controller
View
Request
Response
https://github.com/serradura/from-fat-controllers-to-use-cases/commit/97e8105fa464474b5dd590e067dc7ba388f3c5f8
https://github.com/serradura/from-fat-controllers-to-use-cases/commit/17a90c28ea14e0131e6477c016c500701492a247
Model
Service Objects
Slide 28
Slide 28 text
Interactors
Controller
View
Request
Response
https://github.com/serradura/from-fat-controllers-to-use-cases/commit/4cc47150115e8230da0daf76e96ef5ade7e02d0f
Model
Interactors & Organizers
(Service Objects)
.call
result
Contrato
(padrão)
Slide 29
Slide 29 text
Interactors
Controller
View
Request
Response
Model
Interactors & Organizers
(Service Objects)
.call
result
Contrato
(padrão)
https://github.com/serradura/from-fat-controllers-to-use-cases/commit/4cc47150115e8230da0daf76e96ef5ade7e02d0f
Slide 30
Slide 30 text
Domain Objects
Controller
View
Request
Response
https://github.com/serradura/from-fat-controllers-to-use-cases/commit/556a52d5acc233f3898cdf14f8862d847fe24d4f
Domain objects
Model
Slide 31
Slide 31 text
Use Cases
Controller
View
Request
Response
Model
Use
case
Domain Objects
https://github.com/serradura/from-fat-controllers-to-use-cases/commit/07cb885c6f2fb43504a1f200a2fe76771882fb2f
https://github.com/serradura/from-fat-controllers-to-use-cases/commit/e6827057e46436bc394a96613017e7a01204e3a6
Slide 32
Slide 32 text
Use Cases
Controller
View
Request
Response
Model
Use
case
Domain Objects
https://github.com/serradura/from-fat-controllers-to-use-cases/commit/07cb885c6f2fb43504a1f200a2fe76771882fb2f
https://github.com/serradura/from-fat-controllers-to-use-cases/commit/e6827057e46436bc394a96613017e7a01204e3a6
Slide 33
Slide 33 text
Demo
Photo by Denis Pavlovic on Unsplash
Slide 34
Slide 34 text
Fat
controllers
Fat models
+
Skinny
controllers
Service
Objects
Interactors
Domain
Objects
Use cases
Slide 35
Slide 35 text
Fat
controllers
Fat models
+
Skinny
controllers
Service
Objects
Interactors
Domain
Objects
Use cases
Melhor ou pior é relativo, mas a ideia é reduzir a métrica acima!
https://www.osnews.com/story/19266/wtfsm/