davidhorm / exploring-best-practices

Exploring Best Practices with developing a full stack web app. Using Clean Architecture, and Living Documentation.
MIT License
1 stars 0 forks source link

Clean Architecture #1

Open davidhorm opened 3 years ago

davidhorm commented 3 years ago

What Is It

image

It's an architectural pattern that's inspired by a few other architectures, namely Hexagonal Architecture and Onion Architecture. I would describe its main attribute is that it treats the business entities and use cases as the core of the application, and everything else should be dependant on the core; i.e. the UI layer shouldn't depend on the Data layer.

Why

Technology changes over time. Keeping all the frameworks separated and at the edges make it easier to change. Also integrating new technology will have a pre-known implementation plan.

Additional Resources

davidhorm commented 3 years ago

TODO tasks

davidhorm commented 3 years ago

Counterpoint: Jimmy Bogard with Vertical Sliced Architecture previously used Onion Architecture with the guy who invited the term, but it didn't work. Turns out all the extra abstractions was didn't provide value.

https://jeremiahflaga.github.io/2019/05/20/vertical-slice-architecture-is-it-incompatible-with-clean-architecture/

🚀 DevTernity 2019: Jimmy Bogard – Vertical Slice Architecture (which looks like microservices and CQRS)

Maybe the UseCase and Service is just named Feature with Request -> Handler -> Response pattern, and test that?