Cela nécessite une explication détaillée mais je vais essayer d'esquisser les différences au mieux de ma connaissance.
Les modèles sont des points communs distillés que vous trouvez dans les programmes. Cela nous permet de déconstruire une grande structure complexe et de construire à l'aide de pièces simples. Il fournit une solution générale à une classe de problèmes.
Un grand logiciel complexe passe par une série de déconstruction à différents niveaux. À grande échelle, les modèles architecturaux sont les outils. À un niveau plus petit, les modèles de conception sont les outils et au niveau de la mise en œuvre, les paradigmes de programmation sont les outils.
Un modèle peut se produire à des niveaux très différents. Voir Fractales . Le tri rapide, le tri par fusion sont tous des modèles algorithmiques permettant d'organiser un groupe d'éléments dans un ordre.
Pour une vue des plus simplistes:
- Paradigmes de programmation - spécifiques au langage de programmation
- Modèles de conception - résout les problèmes récurrents dans la construction de logiciels
- Modèles architecturaux - organisation structurelle fondamentale pour les systèmes logiciels
Les idiomes sont des techniques de programmation spécifiques au paradigme et au langage qui remplissent des détails de bas niveau.
Les modèles de conception sont généralement associés à des points communs au niveau du code. Il fournit divers schémas pour affiner et construire des sous-systèmes plus petits. Il est généralement influencé par le langage de programmation. Certains modèles pâlissent dans l'insignifiance en raison des paradigmes linguistiques . Les modèles de conception sont des tactiques à moyenne échelle qui étoffent une partie de la structure et du comportement des entités et de leurs relations.
Alors que les modèles architecturaux sont considérés comme des points communs à un niveau plus élevé que les modèles de conception. Les modèles architecturaux sont des stratégies de haut niveau qui concernent les composants à grande échelle, les propriétés globales et les mécanismes d'un système.
Comment les modèles sont-ils obtenus? À travers:
- réutilisation,
- classification
- et enfin l'abstraction pour distiller le commun.
Si vous avez suivi les pensées ci-dessus. Vous verrez que Singleton est un "modèle de conception" tandis que MVC est l'un des modèles "architecturaux" pour gérer la séparation des préoccupations.
Essayez de lire:
- http://en.wikipedia.org/wiki/Architectural_pattern_(computer_science)
- http://en.wikipedia.org/wiki/Design_pattern
- http://en.wikipedia.org/wiki/Anti-pattern