Suppose an individual object might have many Addresses but should have one

Would you favor making the main one needed Address explicit within the object model? If that's the case, any implementation tips?



    IList<Address> OtherAddresses 

I love this. Associated with pension transfer design choices, this really is contextual. The way this be utilized.

Assume I've got a primary address in Dallas along with a summer time house in Phoenix, along with a PO box for business reasons. Will my primary address have particular priority over my other addresses, or perhaps is the option of address arbitrary? Are you going to attempt to locate me in Dallas before you decide to try my summer time house or my PO box?

Within the situation in which the primary address is treated in a different way, I'd store it within an clearly separate location. Otherwise, store them within an randomly purchased collection and enforce the requirement of a minumum of one inside the class implementation.