https://medium.com/technology-hits/unraveling-the-power-of-domain-driven-design-patterns-domain-objects-and-aggregates-7d786262ee8a