## Module Development Best Practices & Conventions ### Introduction This document describes the **best practices** and **conventions** for who want to develop **modules** that satisfies the following specifications: * Develop the module that applies the **Domain Driven Design** patterns & best practices. * Develop the module as **DBMS and ORM independent**. * Develop the module that can be used as a **remote service / microservice** as well as can be integrated to a **monolithic** application. Also, this guide is mostly usable for the **application development**. ### Guides * Domain Layer * [Entities](Entities.md) * [Repositories](Repositories.md) * Domain Services * Application Layer * Application Services * Data Transfer Objects * Data Access * [Entity Framework Core Integration](Entity-Framework-Core-Integration.md) * [MongoDB Integration](MongoDB-Integration.md)