J'ai réussi à mettre à l'échelle toutes mes anciennes applications qui n'utilisaient pas de modèles de conception documentés. Quel que soit le motif, je ne sais pas. Dans une large mesure, je ressentais seulement le besoin d'utiliser des concepts POO simples.
Le concept Design Patterns est complexe et difficile à comprendre. Une fois implémentée, comment déterminer si l'implémentation est correcte et si l'application possède un véritable couplage lâche?
Réponses:
Pour garder la réponse concise, je dirais que si les caractéristiques suivantes sont visibles dans votre code, vous pouvez être sûr que les modèles sont en place même si vous n'avez pas fait d'efforts délibérés (ce qui n'est pas un problème).
Caractéristiques souhaitées:
Si vous êtes toujours curieux d'identifier et d'étiqueter votre code avec les vrais noms de modèles, je recommanderais d'effectuer les actions suivantes pour lancer la balle.
Cela devrait vous donner une idée juste.
la source
Vous mentionnez à la fois les modèles de conception et le couplage. Ce sont des concepts distincts, je vais donc les traiter séparément. La seule vraie connexion est que les modèles de conception ont tendance à favoriser un couplage lâche (car c'est un aspect majeur d'une bonne conception).
Modèles de conception
Le concept de Design Patterns est en fait assez simple: ils ne sont qu'un ensemble de modèles sur la façon de traiter divers problèmes courants. Il y a 2 raisons principales pour lesquelles ils sont populaires:
Comment savez-vous que vous l'avez correctement implémenté? C'est délicat. Pour la plupart des modèles, c'est simple - vous l'avez soit bloqué, soit vous ne l'avez pas fait. Certains modèles sont moins clairement définis que d'autres - par exemple, modèle-vue-contrôleur . De tels modèles sont mieux utilisés comme lignes directrices générales. Les détails de la façon dont vous l'implémentez sont moins importants que de comprendre les raisons pour lesquelles le modèle existe et ce qu'il est censé accomplir.
Les modèles de conception ne sont pas «la seule vraie voie». Souvent, vous devrez soit les adapter à vos besoins spécifiques, soit parfois il n'y aura tout simplement pas de modèles adaptés aux exigences. Forcer un motif de conception là où il ne rentre pas est une mauvaise idée; c'est comme utiliser un très bon marteau alors que ce que vous voulez réellement est un tournevis.
Couplage
C'est une idée vraiment importante en informatique. Étant donné que les exigences pour la plupart des projets logiciels changent au fil du temps (parfois de manière significative), la capacité d'une conception à faire face aux changements est importante. Le couplage est essentiellement la mesure de "combien serait-il difficile d'échanger ce composant contre un autre?" Le «composant» peut être une méthode, une classe, un package, une bibliothèque, etc.
Il existe différents types de couplage répertoriés dans cet article Wikipedia .
la source
La réponse est en fait le but que vous souhaitez écrire dès le départ. Pourquoi voulez-vous de la flexibilité?
C'est ça le changement; les exigences changent. Essayez de changer quelque chose dans vos exigences qui se reflète dans le changement de code et voyez à quel point il est facile / difficile de le faire.
la source
L'utilisation de modèles de conception est une action préventive. Vous utilisez des paterns de conception pour faciliter votre travail lorsque vous faites évoluer l'application ultérieurement. Bien sûr, pour faciliter votre travail plus tard, vous devez faire un peu plus de travail maintenant. donc la vraie question est de savoir combien de changements pouvez-vous attendre à l'avenir et quel est ce changement. Si vous n'avez pas besoin d'évolutivité et de flexibilité, vous pouvez supprimer les modèles de conception.
Les modèles de conception sont eux-mêmes une mise en œuvre des principes de conception orientée objet. Tant que vous respecterez ces principes, vos applications seront flexibles et évolutives; même si vous n'avez pas vraiment de modèle de conception. Comme l'a commenté Joachim Sauer ci-dessus, ce sont des solutions communes à des problèmes communs.
la source