Clean Architecture In Flutter & best plugins that helps you to implement it

Ricardo Castellanos
6 min readMar 20, 2022

Over the last several years we’ve seen a whole range of ideas regarding the architecture of systems.
The Clean Architecture is the system architecture guideline proposed by Robert C. Martin (Uncle Bob) derived from many architectural guidelines like:

  • Hexagonal Architecture (a.k.a. Ports and Adapters) by Alistair Cockburn and adopted by Steve Freeman, and Nat Pryce.
  • Onion Architecture by Jeffrey Palermo.
  • Screaming Architecture from a blog of mine last year.
  • DCI from James Coplien, and Trygve Reenskaug.
  • BCE by Ivar Jacobson from his book Object-Oriented Software Engineering: A Use-Case Driven Approach

Though these architectures all vary somewhat in their details, they are very similar. They all have the same objective, which is the separation of concerns. They all achieve this separation by dividing the software into layers. Each has at least one layer for business rules and another for interfaces.

The main purpose of Clean Architecture is to allow the business to adapt to changing technology and interfaces. Often, the first exposure most people have to clean architecture is the main circular diagram explaining the high-level concepts of…

--

--