🚀 The Clean Architecture (Ian Cooper)

  Рет қаралды 82,308

DevTernity Conference

DevTernity Conference

4 жыл бұрын

❗️ATTENTION ❗️
Registration to DevTernity is running:
👉 devternity.com
What is the clean architecture and how you would build one in .NET? Recently Bob Martin has categorized a set of architectures, including hexagonal architecture, onion architecture and screaming architecture as 'the clean architecture' - a layered architecture of concentric circles with a strong emphasis on separation of concerns. This architecture has become popular because of its amenability to modification as an evolutionary architecture and its support for practices such as TDD. In this presentation we will discuss the clean architecture and its benefits. More than that, in the bulk of the presentation, we will show you how to implement a clean architecture in .NET. From first steps to working code, we will show you the moves required to embrace this approach, and introduce you to some of the OSS libraries that can help you get there. All examples will be in .NET Core

Пікірлер: 47
@rorycawley
@rorycawley 5 ай бұрын
There are few like Ian who can make everything so clear. Got to see him in NDC Porto 2023. Always excellent.
@pr0l0gix
@pr0l0gix 10 ай бұрын
this is the best talk on clean architecture. I hv been trying to gather more Clean Architecture. Went thru few on NDC Conf, Goto, Steve Smith and others. They r good. However, this is the real deal with covers everything. I really appreciate the effort coz every sentence is essential. I loved when presenter said do we cover use cases using code and is it visible to devs. Thanks you for this
@AnthonyPaulT
@AnthonyPaulT 2 жыл бұрын
This video should have millions of views
@rorycawley
@rorycawley 10 ай бұрын
What a journey, thanks Ian - wonderfully done.
@reductor_
@reductor_ 2 жыл бұрын
The trouble I always find with code samples like at the end in talks like these is, that for those small demo's the original is in many cases easier to work with and understand, it's only when you get into a much larger system that it gets more useful. Unfortunately many people just see that end bit and say well it just shows this approach is not good. I'm not saying I do that, I actually believe a layered approach is the best way to go, however I know many people that think it's awful, and I think the samples they see are awful which doesn't help.
@domicio1577
@domicio1577 2 жыл бұрын
There is that saying about standing on the shoulders of giants and developers are stepping on their own toes.
@sea0920
@sea0920 11 ай бұрын
In reality, the world is much more complex. Business people tells developers to add their (unorganized) ideas and change requirements any second. Developers don't have political power to make code clean. They struggle to meet deadlines, non-devs don't read the code and don't give time to resolve tech debts. New devs join the company and complain that code is dirty. This happens like 99% percent of time. The people who preach scrum, tdd, clean architecture, etc. are coaches who make money by lecturing. They make money by telling developers that they are doing everything wrong as if they are some kind of authority.
@reductor_
@reductor_ 11 ай бұрын
@@sea0920in reality more people then coaches preach those things, I infact preach many of them because over the years I have seen success using them. If devs aren't empowered within your organisation I would say quit and move else where, while business people come down with requirements devs define how the code works and looks, devs should feel empowered to push back against requirements. Sure a junior might struggle to feel empowered, but senior and principal devs should be able to influence and drive technical direction.
@dawid_dahl
@dawid_dahl 2 жыл бұрын
Thank you so much. 🙏🏻
@julienl.1080
@julienl.1080 3 жыл бұрын
Thanks !
@matheusmurray2425
@matheusmurray2425 Жыл бұрын
Just an amazing presentation! Thank you so much, Ian, for sharing knowledge.
@matheusmurray2425
@matheusmurray2425 Жыл бұрын
I found it really useful, third time listening to it.
@alessandrob.g.4524
@alessandrob.g.4524 3 жыл бұрын
Man, what an amazing lecture!
@trozzonick77
@trozzonick77 3 жыл бұрын
One of the best on youtube. Very good.
@user-wr4jm5og3b
@user-wr4jm5og3b 2 ай бұрын
Very commendable presentation given it was held during an earthquake... Even the cameraman was holding it together (barely)
@michaelslattery3050
@michaelslattery3050 Жыл бұрын
This is the best description of clean/hex that I've found. I'm glad he touches on testing and explains to primarily test input ports. I am not sure it's right to say controllers are interactors. The problem is that some controllers are bound to frameworks. I think it's more accurate to say that controllers should be thin pass-through objects that relay UI data directly to/from the interactors. That the interactor are the control logic and controllers are the adaptors.
@antonfernando8409
@antonfernando8409 2 жыл бұрын
Cool, learned something.
@emindeboer5280
@emindeboer5280 7 ай бұрын
got it .. after the first quarter 1/4
@nguyentuananh4078
@nguyentuananh4078 3 жыл бұрын
Can any body have the source code and slide of this talk. Please share.
@FatherEbenezer
@FatherEbenezer 3 жыл бұрын
Managed to find it. Just go through the branches github.com/iancooper/CA-Tutorial
@farewelltitet
@farewelltitet 3 жыл бұрын
Very helpful. Can i have the slide?
@naeemsarfraz9480
@naeemsarfraz9480 3 жыл бұрын
All of his presentations can be found here github.com/iancooper/Presentations
@TheDiveO
@TheDiveO Жыл бұрын
That camera is in need of a clean architecture. Thankfully the cam didn't attempt to give a fuller picture of the presenters nose openings, like a Python cam.
@LukeVanIn
@LukeVanIn Жыл бұрын
The camera person and speaker exhibit signs of intoxication.
@lucasterable
@lucasterable 2 жыл бұрын
Why is Clean Arch so popular among the C# community but not in the Java?
@changyichen4746
@changyichen4746 2 жыл бұрын
I'm wondering that too.
@georgestampolidis9511
@georgestampolidis9511 Жыл бұрын
I think it might be connected to the fact that c# is used for creating games. Games are performance hungry
@brendonanderson8673
@brendonanderson8673 Жыл бұрын
It's not really correct to have a infra dependency in the domain layer. If it is for domain events than it should probably move to a shared kernel layer.
@NoOne-ev3jn
@NoOne-ev3jn Жыл бұрын
When I saw that shame I immediately stopped the video, I won’t waste the rest of the time
@Jack-uc5ly
@Jack-uc5ly Жыл бұрын
do you mind sharing any articles or books where i can learn more about this? Or if you know any really good videos, really trying to get my head around software architecture atm
@Jack-uc5ly
@Jack-uc5ly Жыл бұрын
@@NoOne-ev3jn do you mind sharing any articles or books where i can learn more about this? Or if you know any really good videos, really trying to get my head around software architecture atm
@Jack-uc5ly
@Jack-uc5ly Жыл бұрын
thank you both ))))
@thigmotrope
@thigmotrope Жыл бұрын
I can't imagine trying to explain all these abstractions to junior devs and maintaining any kind of long term fidelity to it. No doubt it would become an unmitigated mess. And senior devs would just argue about it. Of course not doing this results in an unmitigated mess as well so I don't know. I guess I'd prefer my messes with fewer abstractions
@konstantinf.905
@konstantinf.905 Жыл бұрын
I doesn't have to be the extremes - either not structure or the complete full blown structure (shown in the presentation). Be pragmatic and use what helps and avoid the rest. If you want to see a pragmatic example in java, checkout the coding kata from Sandro Mancusos that you can find here kzbin.info/www/bejne/jnnRpoCgls1pptU (this the first of three parts).
@defeqel6537
@defeqel6537 3 жыл бұрын
That camera work is worse than VR.
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
I’m feeling woozy
@DodaGarcia
@DodaGarcia 2 жыл бұрын
Wtf is going on with that camera
@TheDiveO
@TheDiveO Жыл бұрын
Didn't expect the pope to talk about pregnancy, but here we go...
@TheDraiken
@TheDraiken 10 ай бұрын
Having worked with this in large codebases I can say with confidence: it's nice in theory but awful in practice. The devil is in the details and people will abuse "interactors" in every possible way. Soon you'll have one interactor calling 5 other interactors which in turn call other interactors and in the end all you have is a procedural nightmare. Unless you're strict about everything under this architecture, it will surely make your code unnecessarily complex with very little benefit. Be very careful with this.
@umer.on.youtube
@umer.on.youtube 2 жыл бұрын
Weird accent. Poor delivery. Really bad session on Clean Arch.
@danwilson5630
@danwilson5630 Жыл бұрын
Would love to hear yours.
@rorycawley
@rorycawley Жыл бұрын
I thought it was really good.
@mattbutalla6498
@mattbutalla6498 Жыл бұрын
"weird accent"? really?
@Cognitoman
@Cognitoman Жыл бұрын
I thought it was good... maybe your just slow in the head😂 your Native American name shall be “dropped on head” 😂
@Cognitoman
@Cognitoman Жыл бұрын
@@danwilson5630 pepepee pooopoopo ... how did I do ?
More Testable Code with the Hexagonal Architecture
58:54
JitterTed
Рет қаралды 38 М.
MINHA IRMÃ MALVADA CONTRA O GADGET DE TREM DE DOMINÓ 😡 #ferramenta
00:40
ISSEI funny story 😂😂😂Strange World 🌏 Green
00:27
ISSEI / いっせい
Рет қаралды 86 МЛН
"Clean Architecture" and indirection. No thanks.
25:06
CodeOpinion
Рет қаралды 41 М.
A Philosophy of Software Design | John Ousterhout | Talks at Google
1:01:40
Clean Architecture with ASP.NET Core with Steve "Ardalis" Smith (2020-06-01)
1:50:17
Clean Architecture IS about Vertical Slicing, actually!
15:24
About Clean Code
Рет қаралды 29 М.
🚀  Does TDD Really Lead to Good Design? (Sandro Mancuso)
58:00
DevTernity Conference
Рет қаралды 41 М.
Managing Event Driven Architectures - Ian Cooper - NDC London 2022
1:00:34
🚀 Vertical Slice Architecture (Jimmy Bogard)
54:55
DevTernity Conference
Рет қаралды 16 М.
How to apply Hexagonal Architecture with .NET
20:59
Gui Ferreira
Рет қаралды 10 М.
"Good Enough" Architecture • Stefan Tilkov • GOTO 2019
41:41
GOTO Conferences
Рет қаралды 258 М.
iPhone - телефон для нищебродов?!
0:53
ÉЖИ АКСЁНОВ
Рет қаралды 3,5 МЛН
План хакера 🤯 #shorts #фильмы
0:59
BruuHub
Рет қаралды 984 М.