Domain
O Domain é o local onde as funcionalidades de negócio da aplicação são definidas e implementadas, garantindo uma organização clara e uma base sólida para o desenvolvimento.
Essas regras de negócio são desenvolvidas pelo próprio desenvolvedor do software utilizando C#/Csharp e seguem as práticas padronizadas do Domain Driven Design (DDD).
Padronização das regras de negócio
A tecnologia da plataforma Devprime padroniza as regras de negócio seguindo os principais conceitos de Domain Driven Design (DDD) como Bounded context, Aggregate roots, Value Objects, Entity, Domain Events, Domain services, Application services, Handler baseados no Devprime Foundation.
Estratégia baseada em Domain Driven Design (DDD)
A estratégia da Devprime Domain, além de padronizar o desenvolvimento, simplifica a entrada de novos desenvolvedores no projeto e a alternância para outros projetos, habilitamdo uma previsibilidade no desenvolvimento do software.
Domain | |
---|---|
Context map | Um mapa representando a interação entre os contextos de negócio |
Bounded context | Agrupamento de regras de negócio com responsabilidade comum em um contexto. |
Aggregate roots | Um contexto principal agrupando um conjunto de regras de negócio com todas as implementações autocontidas nele |
Value Objects | Objeto de negócio imutável e não possuem um identificador |
Entity | Objeto de negócio com um identificador e a capacidade de ser modificado. |
Domain Events | Estratégia para comunicar fatos de negócios |
Core | |
Domain services | Implementação de regras de negócio entre vários aggregates |
Application services | O primeiro nível de contato com os objetivos de negócio (Aggregate ou Domain services). |
Handler | Desempenha o papel de uma ponte de comunicação, reagindo a eventos de domínio e interagindo com as interfaces tecnológicas |
Definição de tipos baseados no Devprime Foundation
O código-fonte das regras de negócio baseadas na plataforma Devprime é tipado nativamente em Domain-Driven Design (DDD), por meio das classes da Devprime Foundation. Isso possibilita validações através do Devprime CLI e a execução dos aceleradores da plataforma Devprime, os quais implementam comportamentos padrão, como exposição de APIs, testes, repositórios e outras implementações.
Visualizando uma classe do tipo “Aggregate root”
|
|
Visualizando uma classe do tipo “Aggregate Entity”
|
|