Overview

Overview

Welcome to the Architecture Template. In this section, you will find out more about the Atomiv Architecture Template, based on implementation of Clean Architecture, Domain Driven Design, and Test Driven Development.

  • Background provides you conceptual foundations regarding key architectural decisions regarding the Atomiv Architecture Template - focusing on the difference between Data Driven Design vs Domain Driven Design.

  • Domain provides you with an overview of the Domain Layer (within Core), which is responsible for modelling the domain model. He we use Domain Driven Design (DDD).

  • Application provides you with an overview of the Application Layer (within Core), which is responsible for modelling use cases through commands and queries. Here we use Use Case Driven Design (UCDD) and Command Query Responsibility Segregation (CQRS).

  • Common provides you with an overview of the Common Layer (within Core), which is responsible for any common elements that are used by both the Domain Layer and Application Layer.

  • Infrastructure provides you with an overview of the Infrastructure Layer, which is responsible for integration with the external world, including databases, file systems, system clocks, networking, and any external systems (e.g. ERP, CRM, SRM).

  • Dependency Injection provides you with an overview of the Dependency Injection Layer, which serves as the composition root, for wiring up all the dependencies.

  • Presentation provides you with an overview of the Presentation Layer, which includes both presentation of the web service as well as the end clients.

  • Test provides you with an overview of the Test Layer, which includes both Unit and Integration Tests, and is based on the principles of Test Driven Design (TDD).


Contributors
Valentina Cupać
Valentina Cupać

Valentina is a Software Architecture Consultant who is focused on standardizing software architecture and software development to achieve high quality efficiently.