[quote=dreampeppers99]A certo tempo estou tendo contato, por meio de livros ou palestras, com vários termos do mundo da arquitetura sendo que alguns ainda não consegui ver a diferença…
Em relação a conceitos dos componentes de:
Domain
Busines
Model
Sempre que vejo esses conceitos, parece “mais do mesmo”, eles são a representação computacional de uma entidade do mundo real (com comportamento interação e estados…). Ainda existe um “padrão” Entity que parece ser igual.
[/quote]
Primeiro, não é o mundo da arquitetura, é do desenvolvimento. A arquitetura não depende do domínio, depende da aplicação.
Modelo (somente sem mais qualificativos) é ambiguo. Pode ser o modelo do dominio, mas pode ser o modelo de apresentação ( parte integrante do padrão MVC). Embora o modelo de apresentação dependa do modelo de dominio, eles são coisas distintas. Por exemplo, saber navegar pela aplicação faz parte do modelo de apresentação e não do modelo de dominio. Podemos ainda falar do modelo de segurança, do modelo de distribuição, etc… a palavra modelo é muito abstrata e necessidade de um adjetivo ou de um contexto explicito.
Business (negocio) é a área de atuação da aplicação. Dominio são as regras que uma aplicação segue para fornecer serviço na área de atuação. Então “venda de eletronicos” é um negocio , "sistema de vendas de electroeletronicos pela internet " é uma aplicação. Pedidos têm itens que têm produtos é uma regra do dominio.
“O cliente especial que está conosco à mais de 3 anos ganha um desconto de 20%” é uma regra de negocio.
A regras de domínio (modelo de dominio ou simplesmente dominio)e as regras de negocio (modelo de negocios ) são partes do modelo da aplicação. Entity (entidade) é um conceito existente no domínio e que têm Identidade.
Como numa aplicação o dominio e o negocio andam sempre juntos (a aplicação é limitada e não executa diferentes negocios para o mesmo dominio , por exemplo) então pode-se fundir e falar do modelo de dominio incluindo tb o de negocio. Mas num ERP, por exemplo, o dominio é só um e o negocio é configurado pelos que comprar o sistema. Ele embutem logicas de negocio próprias que são particulares a aquela empresa e que outra empresa, do mesmo ramo - do mesmo dominio , não usa.
Enfim, regras/modelo de dominio e de negocio são quase a mesma coisa, mas não bem. Normalmente não se faz a destinção quando falamos de uma aplicação de um so dominio e um so negocio.