Pergunta

Contexto: Então, eu estou tentando construir um modelo de domínio ridiculamente complexa. Falando com os usuários, existem várias maneiras o sistema será utilizado (por exemplo: uma maneira é a partir da perspectiva do empregado, outra maneira é a partir da perspectiva do empregador). Na realidade, eles são múltiplas aplicações reutilizando o domínio do núcleo.

Pergunta: É errado para criar o domínio de várias perspectivas? Por exemplo, para construir o domínio como o negócio é executado significaria a criação de todos os tipos de classes de relações que carregam informações adicionais sobre a entidade e assim por diante ... No entanto, ao executar a partir de uma perspectiva particular, a imagem é muito mais clara porque a maioria dos as classes de relacionamento podem ser enroladas em sua entidade pai.

Ideias? Refutações? Am I completamente off-base?

Foi útil?

Solução

Não, isso é absolutamente apropriado. chamadas de Evan estas 'perspectivas' Bounded contextos em seu livro.

Em vez de ter um modelo de domínio realmente complexo, tentar construir um simples que endereços do domínio de uma maneira específica muito bem. Limitada Contextos podem ser unidas para formar uma teia de menores mais simples, modelos, domínio direto.

Outras dicas

Eu não acho que você deve tentar e predefinir o 'domínio do núcleo' na frente. Deixe-a surgir ao longo do processo de desenvolvimento. Além disso, tudo o que não é comum às 2 (ou mais) perspectivas não deve estar no 'core'.

Por exemplo, construir uma porção do sistema a partir da perspectiva employeer. Este pode pedir-lhe para criar entidades como 'Project', 'tarefa', e 'Cliente'. Em seguida, construa uma porção a partir da perspectiva employeer. Este pode pedir-lhe para construir novas entidades e reutilizar 'Project' e 'tarefa'. Isso é quando eu me mudaria 'Project' e 'tarefa' para o 'biblioteca core' compartilhada pelo resto do sistema.

Às vezes, você encontrará entidades comuns, mas relacionados de maneiras diferentes. Nesse caso, a relação deve ser injetado pelo contexto em vez de ser incorporado com as próprias entidades.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top