mercredi 25 janvier 2017

In which direction to make the association in domain model

Is there some rule of thumb, in which direction to make the association when designing domain model?

For example, we have products in the stock. Stock status of a product is a rather complex data structure, containing enumerations of multiple variations of the product either being in the stock, being out of stock or being bookable. Thus we make a seperate object of the stock status associated with the product. Now the question is, if product object should have a reference to it's stock status, or stock status have a reference to a particular product.

First solution feels like, it's not the real concern of product knowing it's stock state. Product is just a product, and maybe we should manipulate them in different context, where stocking is not a concern. In the other hand, stock status being a root feels awkward, as when thinking about stock, first we think about a product being in the stock.

How to decide, which entity acts as a root for the association?

Aucun commentaire:

Enregistrer un commentaire