Eu vejo muito esse termo no contexto da arquitetura de software ("modelo de domínio", "design orientado a domínio" etc.). Eu pesquisei no Google, mas recebi toneladas de definições diferentes. Então, o que é
Um modelo de domínio é composto pelos objetos, comportamento, relacionamentos e atributos que compõem o setor que é o foco do desenvolvimento.
Eu vejo muito esse termo no contexto da arquitetura de software ("modelo de domínio", "design orientado a domínio" etc.). Eu pesquisei no Google, mas recebi toneladas de definições diferentes. Então, o que é
Onde traçamos a linha entre delegação e encapsulamento da lógica de negócios? Parece-me que quanto mais delegamos, mais anêmicos nos tornamos. No entanto, a delegação também promove a reutilização e o diretor DRY. Então, o que é apropriado delegar e o que deve permanecer em nossos modelos de...
Eu trabalho para uma empresa para a qual o domínio é realmente difícil de entender porque é de alta tecnologia em eletrônica, mas isso é aplicável a qualquer desenvolvimento de software em um domínio complexo. O aplicativo em que trabalho exibe muitas informações, gráficos e métricas difíceis de...
Estou trabalhando em um projeto no qual estamos tentando aplicar o design controlado por domínio e o REST a uma arquitetura orientada a serviços. Não estamos preocupados com 100% de conformidade com REST; provavelmente seria melhor dizer que estamos tentando criar APIs HTTP orientadas a recursos (~...
Quais argumentos alguém deve considerar ao projetar um novo sistema e deve armazenar o nome de uma pessoa como um campo ou separadamente como nome / sobrenome? Prós para campo único: UI mais simples Nenhuma ambiguidade ao tentar digitar o nome de uma pessoa que tem um nome muito longo...
Este post está relacionado a um evento que muda rapidamente. Estou modelando um banco de dados que deve ser usado como requisito não funcional genérico para todos os serviços da empresa iniciante, como pessoas, usuários, serviços e dados comerciais, como cupons, pacotes de...
Li muitos artigos recentemente que descrevem a obsessão primitiva como um cheiro de código. Existem dois benefícios em evitar a obsessão primitiva: Isso torna o modelo de domínio mais explícito. Por exemplo, posso conversar com um analista de negócios sobre um Código Postal em vez de uma string...
Digamos que tenhamos um sistema de registro de tarefas, quando uma tarefa é registrada, o usuário especifica uma categoria e a tarefa assume o status 'Excelente'. Suponha, neste caso, que Categoria e Status tenham que ser implementados como entidades. Normalmente eu faria isso: Camada de...
Eu leio sobre Design Orientado a Domínio por quase dois anos e venho introduzindo cautelosamente alguns conceitos em meu trabalho diário ou, pelo menos, fazendo planos de como as coisas que faço regularmente podem ser feitas dentro de um Design Orientado a Domínio. Uma conclusão que comecei a...
A ignorância de persistência é uma aplicação do princípio de responsabilidade única, que na prática significa que os Objetos de Domínio ( DO ) não devem conter código relacionado à persistência; em vez disso, devem conter apenas lógica de domínio. a) Suponho que isso significa que o código que...
Estou mergulhando nos conceitos do Domain-Driven Design (DDD) e achei alguns princípios estranhos, especialmente no que diz respeito ao isolamento do domínio e do modelo de persistência. Aqui está o meu entendimento básico: Um serviço na camada de aplicativo (fornecendo um conjunto de recursos)...
Estou estudando limpeza e, como resultado, estou repensando bastante de maneira significativa como projeto e escrevo software. No entanto, ainda estou lutando com regras comerciais, como "salvar atualizações de algum item, carregar primeiro. Toda a lista de itens que tenho permissão para exibir /...
Formato curto da pergunta Está dentro das melhores práticas de DDD e OOP injetar serviços em chamadas de método de entidade? Exemplo de formato longo Digamos que temos o caso clássico Order-LineItems no DDD, onde temos uma Entidade de Domínio chamada Order, que também atua como Raiz Agregada, e...
Em nossa lógica de negócios, ocasionalmente temos métodos definidos algo como isto: User.ResetCourse(Course courseToReset) O problema é que o usuário e o curso são objetos de proxy do Entity Framework. Isso significa que, quando atingimos as propriedades de navegação em Usuário ou Curso, isso...
Eu usei uma ferramenta MDA (arquitetura orientada a modelo) no passado, onde modelamos via UML e isso gerou as entidades de negócios (nosso modelo de domínio) e o ORM (mapeamento etc.) entre outras coisas. Muitos códigos e serviços de negócios que trabalham no domínio faziam parte do modelo e...
Isso é um pouco semelhante a essa pergunta, mas mais amplo. Em geral, com ORMs como EF 4.1 suportando POCOs, agora faz sentido que as entidades do seu domínio sejam os objetos que persistem no seu banco de dados? Com ORMs mais antigos, como EF 4 ou Linq-to-SQL, seus "objetos de banco de dados"...
Você está construindo um sistema que monitora as empresas. Essas empresas têm contatos. Esses contatos geralmente são especialistas que respondem apenas a certos tipos de perguntas, como cobrança / pagamento, vendas, pedidos e suporte ao cliente. Usando o Design Orientado a Domínio e uma...
Eu sou um novato em DDD, mas estou lendo tudo o que posso colocar em minhas mãos para ferver e destilar meus conhecimentos. Me deparei com esta pergunta DDD, e uma das respostas me intrigou. Contextos e domínios vinculados por DDD? Em uma das respostas, o pôster mostra o exemplo de um sistema...
A idéia "canônica" é difundida em software; padrões como Modelo Canônico , Esquema Canônico , Modelo de Dados Canônico e assim por diante, parecem surgir repetidamente em desenvolvimento. Como muitos desenvolvedores, muitas vezes segui, sem crítica, a sabedoria convencional de que você precisa de...
Estou começando com o DDD e entendo que as raízes agregadas são usadas para garantir consistência transnacional. Não devemos modificar várias agregações em um serviço de aplicativo. Gostaria de saber, no entanto, como lidar com a seguinte situação. Eu tenho uma raiz agregada chamada Produtos. Há...