[Désolé, mais le travail est propriétaire, je ne peux pas donner de détails sur les objets]Les objets du modèle doivent-ils être flexibles
Je travaille sur une application Java avec un collègue. Je fais le côté client et il écrit le code du serveur.
L'application affiche une table d'objets X. Les colonnes du tableau montrent certains des attributs de X. De plus, nous avons une colonne qui montre un compte de Y pour chaque X. (L'association est plusieurs à un Y à X et dans un sens, Y a une référence à son parent X).
Le compte de Y n'est pas un attribut de X mais est obtenu via une requête sur le DB. J'utilise un TableModel donc il serait évidemment plus facile d'utiliser des objets X comme modèle pour la table. Mais puisque le compte Y n'est pas un attribut de X, je vais devoir créer un objet conteneur pour contenir un X plus un nombre. C'est plutôt ennuyeux car cela ajoute une classe qui semble inutile.
Je suggère à mon collègue qu'il ajouter un champ supplémentaire à X plus un getter:
informations privées vide Carte = new HashMap(); Cela rendrait les objets X du modèle plus flexibles. Je peux stocker n'importe quel état dont j'ai besoin à tout moment dans le client sans affecter les attributs principaux du modèle qui sont spécifiques à la nature de X. Les clés ne seraient définies que dans le client afin que le modèle ne soit pas pollué. Il a refusé car il estime que les objets du modèle ne devraient modéliser que le domaine et que le champ supplémentaire n'est pas lié aux objets du domaine et ne devrait donc pas être ajouté. Il pense que le client devrait gérer cela. Les deux points de vue semblent avoir du mérite, donc je serais intéressé par ce que les autres lecteurs pensent/ressentent à ce sujet.
Merci,
Tim
Bien dit. J'ai vu beaucoup de gens prenant MVC comme le modèle pour toutes les couches de l'application (ce qui est une idée fausse). –