Transaction Date Description Amount Transaction Date Description Name Personnummer Mobile Phone Number Aggregate Root Entity Value Object @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 17 @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 18 @ivanpaulovich Not a Software Architecture!
Follows the Ports and Adapters pattern (Hexagonal Architecture). • The implementation is guided by tests. • It is decoupled from technology details. • Follows lots of Principles (Stability, Abstractness, Dependencies, SOLID). • Pluggable User Interface. @ivanpaulovich
pre-ordered tickets Order tickets Customer Movie Catalog Order System Credit Processing Use Cases • Use Cases are delivery independent. • Show the intent of a system. • Use Cases are algorithms that interpret the input to generate the output data. • Primary and secondary actors. 21 @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.
and the use cases are the central organizing principle. • Use cases implementation are guided by tests. • The User Interface and Persistence are designed to fulfil the core needs (not the opposite!). • Defer decisions by implementing the simplest component first. 46 @ivanpaulovich