2008-09-24 7 views
2

Les «motifs de conception classiques: éléments de logiciels orientés objet réutilisables» ont en fait introduit la plupart d'entre nous à l'idée de motifs de conception.Catégories de motifs de conception

Cependant ces jours-ci je trouve un livre tel que "Patterns of Enterprise Application Architecture" (POEA) par Martin Fowler, beaucoup plus utile dans mon travail au jour le jour. Lors de discussions avec d'autres développeurs, beaucoup (le bon) point que des frameworks comme .NET commencent lentement à fournir beaucoup de patterns dans le livre GOF, et alors pourquoi réinventer la roue?

Il semble que de nombreux développeurs pensent que le livre GOF est la seule référence qui mérite d'être développée. Donc, leur logique est que parce que les frameworks (.NET, etc.) fournissent beaucoup de patterns GOF pour nous, les patterns ont vu leur jour et ne sont plus aussi importants. Étonnamment (pour moi au moins) quand je mentionne les modèles décriés dans POEA, je suis souvent rencontré des regards vides. POEA prouve que les modèles sont plus que de simples Interacteurs, Singletons, Commandes, etc. Je dirais aussi que les modèles dans GOF sont vraiment juste une "catégorie" distincte de modèles, applicable à un niveau différent (non-chevauchant) de conception, que ceux de POEA. Alors, quelles autres "catégories" de modèles ont appliqué dans votre développement? À quel niveau de conception ces modèles s'appliquent-ils? A quel moment du processus de développement sont-ils normalement utilisés? Y a-t-il un livre ou une référence pour ces modèles?

+0

Le abbrev commun pour le i livre de modèles d'entreprise de Fowler s PEAA – jop

Répondre

6

CategoryPatterns Le wiki de Ward contient une liste de modèles classés par catégories.

Les trois premiers sont les modèles GoF

  • créationnelle
  • structurale
  • comportementale

Ensuite, il y a des problèmes spécifiques problèmes

  • Sécurité
  • Concurrency
  • Temps réel

modèle de Fowler sont des modèles d'applications d'entreprise. Il y a également Enterprise Integration Patterns. Les modèles d'interface utilisateur existent également .. et ainsi de suite ...

0

Les modèles GoF sont également strictement applicables au code uniquement. Les modèles de Fowler ne sont pas seulement pour le code mais aussi pour la façon dont les données et les composants du système sont organisés et interconnectés.

De plus, certains modèles ne sont pas nécessaires s'ils sont déjà cuits dans le langage de programmation. Dans certaines langues, ils sont simplement des idiomes. On a effectivement fait valoir que les modèles de conception sont des signes de déficience du langage de programmation.

2

J'ajoute juste une réponse puisque j'ai eu cette question a répondu quelque peu différemment.Selon POSA (le modèle de série orientée architecture logicielle de livres), il existe trois niveaux de modèles:

  • modèles architecturaux (par exemple des couches, MVC, P2P)
  • Design Patterns (par exemple modèles GoF)
  • idiomes (modèles spécifiques de langue, par exemple comme Pimpl, RAII en C++)
Questions connexes