Es bedarf einer detaillierten Erklärung, aber ich werde versuchen, die Unterschiede nach bestem Wissen zu skizzieren.
Muster sind destillierte Gemeinsamkeiten, die Sie in Programmen finden. Es ermöglicht uns, eine große komplexe Struktur zu dekonstruieren und mit einfachen Teilen zu bauen. Es bietet eine allgemeine Lösung für eine Klasse von Problemen.
Eine große komplexe Software durchläuft eine Reihe von Dekonstruktionen auf verschiedenen Ebenen. Auf großer Ebene sind Architekturmuster die Werkzeuge. Auf kleinerer Ebene sind Entwurfsmuster die Werkzeuge und auf Implementierungsebene sind Programmierparadigmen die Werkzeuge.
Ein Muster kann auf sehr unterschiedlichen Ebenen auftreten. Siehe Fraktale . Schnelle Sortierung, Zusammenführungssortierung sind alle algorithmischen Muster zum Organisieren einer Gruppe von Elementen in einer Reihenfolge.
Für eine sehr vereinfachte Ansicht:
- Programmierparadigmen - spezifisch für die Programmiersprache
- Entwurfsmuster - löst wiederkehrende Probleme bei der Softwarekonstruktion
- Architekturmuster - grundlegende strukturelle Organisation für Softwaresysteme
Redewendungen sind paradigmenspezifische und sprachspezifische Programmiertechniken, die Details auf niedriger Ebene ausfüllen.
Entwurfsmuster sind normalerweise mit Gemeinsamkeiten auf Codeebene verbunden. Es bietet verschiedene Schemata zum Verfeinern und Erstellen kleinerer Subsysteme. Es wird normalerweise von der Programmiersprache beeinflusst. Einige Muster sind aufgrund von Sprachparadigmen unbedeutend . Entwurfsmuster sind mittelgroße Taktiken, die einen Teil der Struktur und des Verhaltens von Entitäten und ihrer Beziehungen ausarbeiten.
Während Architekturmuster auf einer höheren Ebene als Gemeinsamkeit angesehen werden als Entwurfsmuster. Architekturmuster sind übergeordnete Strategien, die sich auf große Komponenten, die globalen Eigenschaften und Mechanismen eines Systems beziehen.
Wie werden Muster erhalten? Durch:
- Wiederverwendung,
- Einstufung
- und schließlich Abstraktion, um die Gemeinsamkeit zu destillieren.
Wenn Sie den oben genannten Gedanken gefolgt sind. Sie werden sehen, dass Singleton ein "Entwurfsmuster" ist, während MVC eines der "Architekturmuster" ist, um die Trennung von Bedenken zu behandeln.
Versuchen Sie weiter zu lesen:
- http://en.wikipedia.org/wiki/Architectural_pattern_(computer_science)
- http://en.wikipedia.org/wiki/Design_pattern
- http://en.wikipedia.org/wiki/Anti-pattern