For all the application developers out there, this is a request for comments. In business apps there are generally two types of relationships: compositions and associations. Compositions are tightly-coupled relationships where the composition's lifetime is tied to its parent. Associations are loosely-coupled reference relationships. In designing a prescriptive framework such as the Microsoft Business Framework, it may be beneficial to the application developer to distinguish compositions and associations from each other while coding in a way that does not involve referring to the documentation. In other words, how can I tell that when I navigate from Order to Customer (as in Order.Customer) that I am referring to an association rather than a composition?
So two questions for everyone:
- How useful would it be to be able to distinguish between compositions and associations when coding against those relationships?
- What ideas do you have to help make that distinction?