```json //[doc-seo] { "Description": "Explore best practices for developing ABP Framework modules, focusing on Domain Driven Design, DBMS independence, and microservice compatibility." } ``` # Module Development Best Practices & Conventions This document describes the **best practices** and **conventions** for those who want to develop **modules** that satisfy the following specifications: * Develop modules that conform to the **Domain Driven Design** patterns & best practices. * Develop modules with **DBMS and ORM independence**. * Develop modules that can be used as a **remote service / microservice** as well as being compatible with a **monolithic** application. Also, this guide is mostly usable for general **application development**. ## The Guides * Overall * [Module Architecture](./module-architecture.md) * Domain Layer * [Entities](./entities.md) * [Repositories](./repositories.md) * [Domain Services](./domain-services.md) * Application Layer * [Application Services](.//application-services.md) * [Data Transfer Objects](./data-transfer-objects.md) * Data Access * [Entity Framework Core Integration](./entity-framework-core-integration.md) * [MongoDB Integration](./mongodb-integration.md) ## See Also * [E-Book: Implementing Domain Driven Design](https://abp.io/books/implementing-domain-driven-design)