IT projects are made for one purpose - to satisfy business needs. However, it might have been neglected due to years spent on building applications around databases.
Luckily, a couple of approaches emerged over the last years to help software developers to refocus on what's important. The Clean Architecture is one of such techniques. This book will guide you through arcane rules of its implementation.
Read it!Not based on guesses or pet projects. Experience comes from development of a real product
Testing is not conveniently passed over in silence. Tests accompany code as they are equally important
Code examples are in Python. There are also remarks about other leading programming languages
No filler chapters included. Only actionable, practical advice - out of respect for readers' time
Software design is a game of trade-offs. The Clean Architecture makes some too - they are cleanly exposed
There are many ways to extend the Clean Architecture. The book shows how to do it with CQRS and Event Sourcing
Neither database nor framework should shape your application. Business needs should. Unfortunately, it might have got out of sight due to years spent on writing Django- or Rails-like web applications with Active Record ORMs.
The Clean Architecture is an approach that puts your customer’s concerns in the centre of software. All other issues, such as persistence are treated as implementation details. This is achieved thanks to a careful layering of the project.
As a result, business rules are decoupled from frameworks and 3rd party services. Therefore you can rapidly prototype and test core value. Everything has its place, which makes i.e. onboarding new team members a breeze. Last, but certainly not least – as time passes and project grows the Clean Architecture lets you maintain order and remain flexible.
The credit for the original concept goes to Robert C Martin - see article
Entering the name & e-mail address is non-obligatory. You may request data you entered to be deleted or altered in any moment.
Cookies are in use on this page. They are set by a 3rd party service - HotJar. The latter serves analytics purpose, though it is impossible to personally identify an individual person with it.
Purpose of using HotJar is to provide me with feedback how page is browsed by visitors as a whole - without possibility to track individual user. For example I can tell if privacy policy catches any interest :)
A visitor may enter their name and e-mail address to subscribe for e-mail notification to be sent when the presented book has been finished and is available to buy.
To delete/alter data, users are encouraged to write an e-mail to the following address:
None of the user's data is ever passed to HotJar or any other 3rd party.
Data is administered and accessed only by Sebastian Buczyński.