Please enable JavaScript.
Coggle requires JavaScript to display documents.
Clean Architecture (Common thoughts. (Charachteristics of architectures…
Clean Architecture
Common thoughts.
If architecture comes last, then the system will become ever more costly to develop, and eventually, change will become practically impossible for part or all of the system. If that is allowed to happen, it means the software development team did not fight hard enough for what they knew was necessary
Programs must not only work well, they
should allow changes
-
The goal of software architecture is to minimize
the human resources required to build and
maintain the required system.
-
-
It's not necessary to choose database, webserver, etc. in early development. And the longer you wait to make those decisions, the more information you have with which to make them properly.
The strategy behind the architecture facilitation is to leave as many options open as possible, for as long as possible
-
-
-
-
-
Advices
-
Leave options open where applicable, but be pragmatic, and take into consideration the size of your team, their skill level, and the complexity of the solution in conjunction with your time and budgetary constraints.
Quotes
Testing shows the presence, not the absence, of bugs.
If you think good architecture is expensive, try bad architecture.
The only way to go fast, is to go well.
Architecture is a hypothesis, that need to be proven
by implementation and measurement.
Architecture is the decisions that you wish
you could get right early in a project, but that you are not
necessarily more likely to get them right than any other.
-
-
Programming paradigms
-
-
Structured programming
-
Structured programming allows modules to be recursively decomposed into provable units, which in turn means that modules can be functionally decomposed.
Practices
Boundaries
-
-
-
Superpowered API can be provided for using it in testing of business rules. It's made to avoid the dependencies to GUI and database.
Domain layer should be at the center of application, inside the infrastructure, but doesn't depend on it
Services
-
-
Services are strongly coupled to the data record and, therefore, indirectly coupled to each other.
-