S'il s'agit d'une technologie spécifique, s'agit-il toujours d'un modèle de conception?

StackOverflow https://stackoverflow.com/questions/1605200

  •  05-07-2019
  •  | 
  •  

Question

Je suis allé à une réunion d'un groupe d'utilisateurs .NET ce soir, et une partie de celle-ci a tourné autour du motif modèle, vue par vue, et je me suis demandé si cela pouvait être qualifié de motif.
Le problème que j'ai est que M-V-VM est extrêmement spécifique à la technologie. Si vous n'utilisez pas WPF et son mécanisme de liaison, je ne vois pas comment vous pourriez utiliser ce modèle.
En revanche, la plupart des " classiques " les modèles sont largement agnostiques de la technologie. La plus grande hypothèse qu'ils font est que le langage utilisé est orienté objet et supporte généralement l'héritage. Au-delà de cela, les modèles classiques consistent principalement à énoncer un problème de conception général et à proposer une approche pour le résoudre, mais de multiples implémentations ou variations sont possibles.
Ma question est la suivante: où tracez-vous la ligne de démarcation entre un modèle de conception et une recommandation sur la manière d'utiliser un cadre très spécifique? Si vous savez comment l’appliquer, quel langage et quelle technologie devez-vous utiliser pour le faire, est-ce toujours une tendance?

Était-ce utile?

La solution

Les concepts sous-jacents nécessaires à l’approche " peuvent-ils être utilisés? travailler soit ré-implémenté sur une autre plateforme sans violer aucun brevet, propriété intellectuelle ou quantité de travail obscène? Si tel est le cas, je dirais que nous pouvons certainement encore parler de modèle de conception dans le sens où vous voulez en venir - juste un nouveau modèle qui n’est pas facile à faire largement pour le moment . (Même si même les approches spécifiques à une plate-forme peuvent toujours être des modèles de conception pour la petite communauté qui peut les utiliser).

N'oubliez pas également que MVVM est simplement une implémentation spécifique du modèle de modèle de présentation présenté par Martin Fowler , qui est certainement" classique ". comme vous dites, et plate-forme agnostique.

"Rien de neuf sous le soleil" comme on dit, juste différents arrangements des mêmes idées. Les principes sont constamment affinés, rarement inventés.

Autres conseils

Les motifs ne sont pas une île dans une mer d’autres choses. Ce n'est pas noir et blanc que quelque chose est un motif ou non; Tous les modèles peuvent être agencés sur une échelle et comporter différentes nuances de gris entre génériques et spécifiques à un domaine, entre processus et code, et à peu près tous les autres critères que vous choisissez.

Si c'est une recette qui mérite d'être partagée ou réutilisée même légèrement , c'est un modèle.

Oui, les modèles de conception dépendent souvent du langage de programmation et de la technologie utilisés: par exemple, les PDD qui gèrent explicitement la propriété des ressources jouent mal avec les langages usés, les solutions de contournement limitant la dactylographie au moment de la compilation langues, etc. - c'est normal, parfaitement correct, essentiellement inévitable.

" Une recommandation " diffère de " un motif de conception " non pas par contexte technologique, mais par étendue et surtout par profondeur: un PDD approprié identifie deux ou plusieurs utilisations développées indépendamment d’approches similaires, approfondit la question de savoir quelles sont les "forces" communes. à partir de là, ils avaient affaire à un magnifique méta-format lourd. En revanche, une recommandation est beaucoup moins formelle, profonde et large!

Les

PDD ne sont jamais inventés , ils sont découverts en réfléchissant au code existant (deux occurrences ou plus développées indépendamment) qui traitent de situations similaires, en identifiant les points communs tels que " forces " piloter les solutions, etc., etc. "DP" est un terme tellement populaire et accrocheur qu’il est utilisé FAR plus largement qu’il ne devrait être - revenir aux sources et lire ou relire Une construction intemporelle et ses autres œuvres, si vous avez perdu votre chemin à travers le bosquet de DP, ils vous aideront à retrouver la piste. !

  

Si vous n'utilisez pas WPF et sa liaison   mécanisme, je ne vois pas comment vous pourriez   utiliser ce modèle.

Silverlight et Moonlight prennent également en charge MVVM.

"Les langues sont basées sur des paradigmes", chaque paradigme a différentes façons de résoudre un problème. Il arrive que les modèles de conception soient des solutions communes, peu importe qu’elles soient spécifiques à une langue ou non.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top