Clean Architecture demystified

270 views
Skip to first unread message

Tobias Strandberg

unread,
Nov 4, 2020, 3:42:44 AM11/4/20
to Clean Code Discussion
Hi everyone,
I found it tricky to get a good understanding of Clean Architecture so I wrote a hopefully insightful article about it.
Please have a read and give me your feedback!


Thanks,
Tobias
Message has been deleted

to...@3lll.asia

unread,
Nov 4, 2020, 2:33:42 PM11/4/20
to Clean Code Discussion
Hi Tobias

Your article is helping me get to grips with clean architecture!

I noticed you have deviated from UB's clean architecture - He says that the MVC architecture is contained in the Interface Adapters Layer and not in the frameworks and drivers layer.

The "Flow of control in a strict Clean Architecture Implementation" is good.

Tony



On Wednesday, 4 November 2020 at 09:42:44 UTC+1 tobias.r....@gmail.com wrote:
Hi everyone,
I found it tricky to get a good understanding of Clean Architecture so I wrote a hopefully insightful article about it.
Please have a read and give me your feedback.


Thanks,
Tobias

Tobias Strandberg

unread,
Nov 5, 2020, 10:24:34 AM11/5/20
to Clean Code Discussion
Hi Tony,
glad that you found it interesting!

I remember reading somewhere that the MVC architecture is contained in the Interface Adapters layer, but it doesn't make any sense. It also goes against the SRP (Single Responsibility Principle). If the Controller in the Interface Adapters layer were the same as a Controller in MVC, then that would mean that its responsibility would be more than its role in MVC, because then it would also have to convert the Controller's input to a Request Model and call the Interactor. In addition to this, the Controller would also have to have a "has a" relationship to the Presenter to get the output (View Model) from the Presenter. This would also mean it would have to be aware of the View Model.
If you look at Figure 5 in my article, it's evident that there are no such relationships between the Controller, the Presenter and View Model.

Regards,
Tobias

Paul Michael Reilly

unread,
Nov 5, 2020, 9:43:09 PM11/5/20
to clean-code...@googlegroups.com
You might want to consider bringing this conversation to the Clean Coders Slack Workspace. Post your material to the #general channel and I suspect you'll get more feedback. Here's in invitation if you need one: https://join.slack.com/t/cleancodersgroup/shared_invite/enQtNzEyMjgyMDU3MDYwLTZkMjViNWVkZTJlNTI4NjZmZGIzNGY5NDA2NThhMGJiOWNmMTRkYmI4ZTUzYzI0YzJmYTZhNDMwM2UzY2I3MjU

-pmr


--
The only way to go fast is to go well.
---
You received this message because you are subscribed to the Google Groups "Clean Code Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clean-code-discu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/clean-code-discussion/7d0d2ac3-a440-4e8a-bf23-a81712bcbcefn%40googlegroups.com.

Tobias Strandberg

unread,
Nov 6, 2020, 8:14:39 AM11/6/20
to Clean Code Discussion
Hi Paul,
I took your advice!

I'm now looking forward to some more feedback :)

Regards,
Tobias

Reply all
Reply to author
Forward
0 new messages