Pour mon exemple, j'ai une classe Person avec un nombre arbitraire d'adresses associées. Il y aura donc une collection Addresses en tant que membre de la classe Person.Meilleur design pour implémenter l'élément "Default" dans la collection
Dans de nombreuses applications qui utilisent la classe Person, nous voulons simplement récupérer l'objet Adresse "Default". Il y a quelques questions de conception concernant l'implémentation:
- Sur chaque enregistrement d'adresse dans le DB, je pourrais avoir un drapeau pour définir s'il est par défaut pour la collection. Alternativement, je pourrais avoir différents types d'adresses (Accueil, Facturation, Livraison, etc ...) et mettre en place des règles pour dire que si une personne a un enregistrement d'adresse personnelle, utilisez-la par défaut. Sinon, utilisez Shipping, etc ...
En ce qui concerne l'interface utilisée pour récupérer l'adresse par défaut, il y a plusieurs façons de le faire, et j'aimerais savoir ce qui est le mieux pour certains des SO gens.
Address a1 = myPerson.DefaultAddress; Address a1 = myPerson.Addresses["Default"]; Address a1 = myPerson.Addresses.Default;
Il est probablement de bons conseils pour dire: « Cela dépend de votre application. » Laissez-moi préempter cela en disant que nous construisons des classes fondamentales pour tous nos nouveaux développements. Donc, je ne peux pas nécessairement regarder cette première application que nous construisons comme le dernier mot sur la conception de classe.