Re: DRY and cross domain logic

"Remy Fannader [email protected] [domaindrivendesign]" <[email protected]> Fri, 22 May 2015 15:05:43 +0200
Newsgroups gmane.comp.programming.domain-driven-design
Message-ID <CAMdXxPD-adCdyrkGKFyuexGQ0eK2Lo-1ywZVSZkyKh_MoG7g7Q@mail.gmail.com>
You should introduce parties, with reference to persons (roles as customer
or patient)  and organization (roles as customer only).
https://caminao.wordpress.com/how-to-implement-symbolic-representations/patterns/business-patterns-2/parties/
Rémy

On 22 May 2015 at 14:31, Tom Eugelink [email protected] [domaindrivendesign] <
[email protected]> wrote:

>
>
> We have a discussion in my current project group about the following:
> - There are two bounded context.
> - In each bounded context there is an person-alike entity, in one BC it is
> Client in the other it is Patient, mostly with their own business logic and
> methods specific to their roles.
> - However, at some point Patient requires some determining logic that is
> implemented in Client. For simplicity let's assume both have a
> date-of-birth and the to-be-called logic is calculateAge().
>
> This is not something that can be done with events, and because of DRY you
> do not want to implement calculateAge() twice. What is the best option to
> calculate the age of a patient? Client and Patient share a unique id, so
> Patient knows which Client to get. (N.B. I seek a conceptual solution, not
> one specific to the calculate age problem.)
>
> Tom
>
>  
>