Layer MediatR and AutoMapper Data Layer Entity Framework and Dapper Database and Messaging SQL Server and RabbitMQ IDE and Tools Visual Studio, Resharper and .NET Framework 3 @ivanpaulovich
Layer MediatR and AutoMapper Data Layer Entity Framework and Dapper Database and Messaging SQL Server and RabbitMQ IDE and Tools Visual Studio, Resharper and .NET Framework 4 @ivanpaulovich Not a Software Architecture!
of Frameworks. • Testable. • Independent of UI. • Independent of Database. • Independent of any external agency. https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html “ @ivanpaulovich
Dependency Inversion Principle Test-Driven Development Clean Architecture Style Object-Oriented Design Principles Use Cases as Central Organising Structure Pluggable User Interface @ivanpaulovich
system. • Use Cases are delivery independent. • Use Cases are algorithms that interpret the input to generate the output data. • Use Cases diagrams highlight the Primary and secondary actors. 29 @ivanpaulovich
Presenters D evices W eb UI DB External Interfaces @ivanpaulovich •Abstractness increases with stability. •Modules depend in the direction of stability. •Classes that change together are packaged together.
cases are the central organising structure. • Use cases implementation are guided by tests. • The User Interface and Persistence adapters are designed to ful f i l the core needs (not the opposite!). • Defer decisions by implementing the simplest component f i rst. 40 @ivanpaulovich