J'ai un autre programmeur que j'essaye d'expliquer pourquoi c'est qu'un composant d'IU ne devrait pas être aussi une structure de données.Comment expliquer à quelqu'un qu'une structure de données ne devrait pas se dessiner, expliquant la séparation des préoccupations?
Par exemple dire que vous obtenez une structure de données qui contient un enregistrement retrouve à partir des « base de données », et que vous souhaitez afficher cet enregistrement, situé dans un composant d'interface utilisateur dans votre application.
Selon ce programmeur (qui restera anonyme, il est jeune et je lui enseigne ...), nous devrions sous-classer la structure de données dans une classe qui va dessiner le composant de l'interface utilisateur dans notre application !!!! !!
Et donc selon cette logique, l'enregistrement doit gérer ensemble le dessin de l'interface utilisateur.
****** Head bureau *****
Je sais que demander un enregistrement mis à se dessiner est faux, parce que, si vous souhaitez rendre la même structure de données sur plus de un type de composant sur votre interface utilisateur, vous allez avoir un vrai bordel sur vos mains; vous devrez étendre une autre classe pour chaque composant de l'interface utilisateur que vous affichez à partir de la classe de base de votre jeu d'enregistrements; Je connais bien la "propreté" du pattern MVC (et par là ce que je veux vraiment dire, c'est que vous ne confondez pas vos données (le Model) avec votre UI (la vue) ou les actions qui avoir lieu sur les données (le contrôleur plus ou moins ... okay pas vraiment l'API devrait vraiment gérer ça ... et le contrôleur devrait juste faire aussi peu d'appels que possible, en lui disant quelle vue afficher) C'est certainement beaucoup plus propre que d'utiliser des structures de données pour rendre les composants de l'interface utilisateur!
Y at-il autre conseil que je pourrais envoyer son chemin autre que l'exemple ci-dessus? Je comprends que lorsque vous apprenez pour la première fois, vous passez par «une étape» où vous voulez juste tout étendre. Suivi par une étape quand vous pensez que les motifs de conception sont la solution à chaque problème ... ce qui n'est pas tout à fait correct non plus ... thanks Jeff.
Est-il possible que je peux pousser doucement ce gamin dans la bonne direction? Avez-vous d'autres exemples qui pourraient aider à expliquer mon point à lui?
Et par fonctionnel, vous voulez dire interagir avec les données avec l'interface utilisateur, et être non fonctionnel; juste un conteneur pour les données, comme le résultat-ensemble ... non? – leeand00
Fonctionnel comme dans "what something does", non-fonctionnel comme dans "comment quelque chose a l'air". Dans MVC, le «ce que quelque chose fait» est le modèle, et «comment quelque chose ressemble» est la visualisation du modèle, la vue. –