RE: How to differentiate a concept is domain logic or application logic ?

Rishikesh Parkhe <[email protected]>
Newsgroups gmane.comp.programming.domain-driven-design
Message-ID <[email protected]>
(1) Crux here is to be able to model the domain as accurately as possible, that way the core domain objects / entities / concept / procedures reside in the heart of the software. Rest of the system is more or less software engineering. The domain layer certainly should not say "how" to persist, but it should clearly say "what" to. Repository is only an interface, concrete implementation may lie in a different layer.

(2) Domain expert's views are valuable throughout the system. Application layer is merely for separation of the use cases into a more logical place, it also allows certain level of decoupling from other layers. Hence, can be changed without affecting the core domain. Even though application layer may provide interface to user / work flows, the core domain logic is better if separated into the domain layer with POJOs / POCOs / etc.

Regards,
Rishikesh Parkhe

Sent from my Windows Phone
________________________________
From: [email protected]<mailto:[email protected]>
Sent: ‎11-‎01-‎2014 02:51
To: [email protected]<mailto:[email protected]>
Subject: [domaindrivendesign] How to differentiate a concept is domain logic or application logic ?

Domain layer encapsulates the domain logic . Application layer encapsulates  application logic . My question is that how to differentiate a concept is the domain logic or application logic ?

From what I read ,if a concept is  communicated by domain experts/users in their jobs , then that concept should be modeled and located in the domain layer . So I have the following questions :

(1) I don't think the domain expert will care about how to persist the state of a domain entity , so why repository is located in the domain layer?

(2) Most domain expert only care about how the application can help them to do their daily jobs . They care  and talk about different use cases and their flow to do that use cases in their daily job . So why the use cases and their flow is encapsulated in the application service which is in the application layer?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.