Disons que j'ai un site web qui répertorie des Personnes, et chaque Personne a plusieurs propriétés, certaines un-à-un (nom, adresse), d'autres un-à-plusieurs (couleurs préférées, comptes bancaires etc).
Dans ma couche métier, c'est bien organisé hiérarchiquement.
Comment dois-je organiser cela dans mes contrôleurs et vues? Devrais-je avoir un PersonsController, FavoriteColorsController etc? tous résidant dans le même espace de noms et dossier? Ou devrais-je avoir seulement un PersonsController avec de nombreuses actions, telles que IndexFavouriteColors, UpdateFavoriteColor etc. Aucune des options n'est vraiment satisfaisante. La première ne montre pas que FavoriteColors est un enfant de Person et ne peut être utilisé que dans le contexte d'une personne. La deuxième créera un énorme PersonController.
La même chose pour les vues bien sûr. Le mieux serait d'avoir
- Vues/Persons/index.aspx
- Vues/Persons/details.aspx
- Vues/Persons/ etc.
- Vues/Persons/FavoriteColors/index.aspx
- Vues/Persons/FavoriteColors/details.aspx
Dans cet exemple, je n'ai donné que quelques propriétés un-à-plusieurs à la Personne, mais en réalité il y en a beaucoup (10+), ce qui augmente le besoin de clarté.
Merci.