Quando os domínios da Aplicação e do Negócio se encontram

Falae, galera!!!

Estava lendo este artigo do Shoes onde ele explica e exemplifica o que é um Domínio de acordo com o livro Fundamentals of Object-Oriented Design in UML do Paje-Jones (que já ta na lista pra ler ;)).

Pelo que entendi ele diz que o Application Domain é responsável por definir lógicas específicas de uma dada aplicação e que o Business Domain define conceitos de negócio que não é específico de nenhuma aplicação, mas compartilhado entre elas.

Como exemplo ele cita uma classe Produto que seria utilizado tanto no sistema de logística quanto no de e-commerce de uma empresa.

Supondo que esteja desenvolvendo um projeto no qual só se imagina utilizar em um único lugar. Por exemplo, um sistema de biblioteca onde temos apenas um aplicação (o próprio sistema). Não corcodam que alguns conceitos poderiam ficar misturados em um único domínio? Como saberemos o que é conceito de aplicação e o que é conceito de negócio quando temos apenas uma aplicação e todos os meus conceitos são baseados nela?

Talvez o Application Domain não existiria em casos onde existe uma única aplicação? Ou quem sabe eu não entendi o conceito de aplicação direito, né?

O que vocês acham?

Acho que não fui claro o suficiente, né?? hehehehe

Talvez eu seja mais claro perguntanto apenas:

É possível mesclar conceitos do Application Domain com conceitos do Business Domain?

Ou então eu quem não entendi as diferenças entre ambas as camadas?

Alguma luz?

:wink:

Realmente é bem complexo separar os conceitos que são genéricos daqueles que são particulares quando vc só tem um exemplo.
Ha sempre a hipotese de pesquisar mais sobre esse tipo de sistemas para encontrar o que é comum e não é comum. Por exemplo, um sistema de biblioteca quase de certeza está relacionado a Livro, mas em uma biblioteca audiovisual tlv exista algo mais abstrato que permita incluir musica e video no mesmo conceito de livro. Apenas exercitando e informando-se vc pode saber as diferenças.
Mesmo quando só o Livro é usado, os atributos dele podem ser particulares do seu sistema.

O chamado Especialista ( aka Analista de Negocios) deve poder informá-lo destas diferenças/semelhanças. Pelo menos é o papel que lhe caberia.