Ich bin wirklich verwirrt über den Unterschied zwischen GOF und GRASP Muster? sogar beide zu verbesserten objektorientierten PraktikenWas ist der Unterschied zwischen GOF und GRASP Entwurfsmuster
Antwort
GOF sind Muster, d. H. Bewährte Design-Lösungen für wiederkehrende Probleme.
GoF erwähnt zu Design Patterns: GRASP are principles und sind nicht
Kurze Antwort zu einem bestimmten Problembereich daher gilt in jedem Szenario gebunden. Und GRASP sind Design Principles. Design Principles sind so abstrakt wie Design Patterns.
Lange Antwort:
Der Hauptzweck der Software Engineering ist eine richtige Software-Entwicklung. SDLC präsentiert die Schritte des Software Engineering in Top-Level. Software Design ist einer der SLDC-Schritte. Und Object Oriented Software Design ist ein beliebter Ansatz des Software-Designs. Richtlinien, Grundsätze, Heuristik, Muster, Stile und etc.
Die :
Um eine objektorientierte Software Design gibt es viele Arten von Ressourcen (in Bücher, Tutorials und Papiere) mit unterschiedlichen Namen wie ausführen Unterschiede zwischen diesen Namen sind die Abstraktion von ihnen. Oberste Ebene sind die Hauptprinzipien und andere Ebenen sind Details, die helfen, diese Hauptprinzipien zu erreichen.
Top Level
Auf der obersten Ebene, Tutorials präsentieren wichtigsten Grundsätze. (Basierend auf objektorientierte Analyse und Design mit Anwendungen, Grady Booch, et al., 1991)
Objektorientierte Hauptprinzipien
- Abstraktion
- Encapsulation (Information Hiding)
- Hierarchy (Vererbung, Aggregation)
- Modularität (High Cohesion und lose Kopplung)
Alle subsequ Entsprechende Prinzipien und Muster beziehen sich auf diese Grundprinzipien und versuchen diese zu unterstützen und zu verbessern.
Second Level
In der zweiten Ebene der Ressource gibt es Prinzipien und versuchen, Hauptprinzipien der Objektorientierung zu unterstützen und zu verbessern.
- SOLID Principles
- GRASP Principles
- Law of Demeter-LoD
- und etc.(Andere Einzeller namens Prinzipien wie LoD)
Third Level
Diese Ebene der Ressourcen genannt Entwurf Patters. Gof (Gang of Four) haben das erste Buch über Design Patterns. Es gibt 23 Entwurfsmuster, die Hauptprinzipien und andere Prinzipien des objektorientierten Designs unterstützen.
Nach GoF, geschrieben viele Bücher über Design Patterns in bestimmten Programmiersprache und spezifischen Frameworks (z J2EE Deign Patterns, JQuery Design Patterns und etc.)
Design Patterns sind detaillierter und so nahe Programmiersprache. Die Hauptprinzipien (auf oberster Ebene) und Prinzipien (auf zweiter Ebene) sind jedoch so abstrakt.
Forth Stufe
In dieser Ebene Ressourcen genannt: Heuristiken.
Die Ressource dieser Ebene ist so detailliert und sehr spezifisch als andere Gruppen.
Die beste Quelle ist Object Oriented Design-Heuristiken (72 Heuristiken), Buch von Arthur J. Riel 1996
Fünfte Stufe
Auf der letzten Ebene gibt es Leitlinie.
Alle Do It, tun Sie es nicht, vermeiden, ... Richtlinien in die Bücher können in dieser Gruppe sammeln sein.
- 1. Entwurfsmuster: Was ist der Unterschied zwischen Interpreter und Composite?
- 2. Was ist der Unterschied zwischen einem Algorithmus und einem Entwurfsmuster
- 3. Was ist der Unterschied zwischen `==` und `ist`?
- 4. Was ist der Unterschied zwischen:.! und: r !?
- 5. Was ist der Unterschied zwischen Difftime und '-'?
- 6. Was ist der Unterschied zwischen $ und $$?
- 7. Was ist der Unterschied zwischen Verilog! und ~?
- 8. was ist der Unterschied zwischen [[], []] und [[]] * 2
- 9. Was ist der Unterschied zwischen/* ... */und/** ... */
- 10. Was ist der Unterschied zwischen `&` und `ref`?
- 11. Was ist der Unterschied zwischen $ (...) und `...`
- 12. Was ist der Unterschied zwischen .Equals und ==
- 13. Was ist der Unterschied zwischen "$^N" und "$ +"?
- 14. Was ist der Unterschied zwischen + = und = +?
- 15. Was ist der Unterschied zwischen? und ? = Nil
- 16. Was ist der Unterschied zwischen $ (()) und Ausdruck?
- 17. Was ist der Unterschied zwischen:
- 18. was ist Gang of Four Entwurfsmuster
- 19. Was ist der Unterschied zwischen der JSP und der JSTL?
- 20. Was ist der Unterschied zwischen NetFx45WebLink und NetFx45RedistLink ist
- 21. Was ist der Unterschied zwischen PS1 und PROMPT_COMMAND ist
- 22. Was ist der Unterschied zwischen x86 und x64 ist
- 23. Was ist der Unterschied zwischen „ist None“ und „== None“
- 24. Was ist der Unterschied zwischen DISPATCH_QUEUE_CONCURRENT und DISPATCH_QUEUE_SERIAL ist
- 25. Was ist der Unterschied zwischen Task.Run ist() und Task.Factory.StartNew()
- 26. Was ist der Unterschied zwischen RewriteRule ist und umleiten 301
- 27. Was ist der Unterschied zwischen ist - (void) und + (void) Methoden
- 28. Was ist der Unterschied zwischen ist HttpResponseMessage und HttpResponseException
- 29. Was ist der Unterschied zwischen nohup und kaufmännisches Und
- 30. Was ist der Unterschied zwischen: und :: und ::: in Javascript Grammatik