Frage

In Software Architecture - Foundations, Theorie und Praxis , kann ich Definitionen für beide finden. Das Problem ist, dass ich nicht bekommen, was jeder von ihnen bedeutet im Klartext:

Architekturmuster

Ein Architekturmuster ist eine benannte Sammlung von architektonischen Design-Entscheidungen, die zu einem wiederkehrenden Designproblem zu Konto für Kontexte Entwicklung verschiedener Software parametriert anwendbar sind, in denen das Problem angezeigt.

Architectural Style

Ein architektonischer Stil ist eine benannte Sammlung von architektonischem Design-Entscheidungen, die (1) gelten in Entwicklungskontext gegeben, (2) beschränkte architektonische Design-Entscheidungen, die in diesem Zusammenhang spezifisch für ein bestimmtes System sind, und (3) entlocken vorteilhaft Qualitäten in jedem resultierenden System.

Was bedeutet jedes Mittelwert und was sind die Unterschiede zwischen ihnen?

War es hilfreich?

Lösung

Ein Architekturmuster ist ein Weg, um ein wiederkehrendes architektonisches Problem zu lösen. MVC zum Beispiel löst das Problem der Benutzeroberfläche aus dem Modell zu trennen. Sensor-Regler-Aktor, ist ein Muster, das Sie mit dem Problem der Betätigungsangesichts von mehreren Eingangs Sinne helfen.

Ein architektonischer Stil, auf der anderen Seite, ist nur ein Name zu einer wiederkehrenden architektonischen Gestaltung gegeben. Im Gegensatz zu einem Muster, existiert es nicht ein Problem „lösen“.

Pipe & Filter löst kein spezifisches Problem, es ist nur ein Weg, um Ihren Code zu organisieren. Client / Server, Hauptprogramm und Unterprogramm und Abstrakte Datentypen / OO, gleich.

Auch eine einzelne Architektur mehrere Baustile enthalten kann, und jeder architektonischen Stil Verwendung mehrerer Architekturmuster machen kann.

Andere Tipps

Ehrlich gesagt, ich habe immer diese beiden Begriffe werden synonym! Und Laien (relativ gesehen) Literatur auf jeden Fall behandelt sie als solche. Siehe MSDN oder Wikipedia

Aber Ihre Frage faszinierte mir ein wenig, so dass ich ein bisschen mehr haben zu graben und ehrlich gesagt ... Ich kann nicht viel, außer für einen Verweis auf A Practical Guide to Enterprise Architecture (The Coad Series) , aus dem ich zitiere: -

An architectural style (Base et al. 1997) and an architectural pattern 
(Buschmann et al. 1996) are essentially synonymous. 

Basierend auf etwas mehr googeln, das ist, was ich denke, eine Möglichkeit sein könnte, die beide

  • Ein architektonischer Stil ist eine konzeptionelle Art und Weise, wie das System erstellt werden soll / wird funktionieren
  • Ein Architekturmuster beschreibt eine Lösung für einen Stil auf der Ebene der Umsetzung von Subsystemen oder Modulen und deren Beziehungen.

Wie ein architektonisches Muster von einem Design-Muster unterscheiden d.h Adapter, Beobachter ist im Grunde durch das Niveau der Granularität auf die sie angewendet werden (ich weiß, das ist nicht Teil der Frage, aber seine im Zusammenhang, glaube ich)

In sehr einfachen Worten:

  • Eine Architektur

    ist ein Konzept, Theorie (und wie es umgesetzt ist, ist es an Ihnen). Es kann auch außerhalb der Software-Welt gilt.

    Beispiel: REST ( Representational State Transfer ) ist ein Architektur auf bestimmte Prinzipien gebaut, um die aktuellen „Web“ Grundlagen verwendet wird.

  • ein architektonisches Muster

    beschreibt eine Lösung, bei der Software-System (oder Modul) Ebene. Mit anderen Worten, wie es in Wechselwirkung tritt sich z.B. Ansicht mit Modell und Modell mit Reglern.

  • Ein Designmuster

    Ist eine Lösung in der Mittelpunkt Ebene, es spricht von Klassen, Funktionen und wie eigentlich die Logik geht.

Architectural Style ist abstrakt heißt konzeptuell.

+---------------+--------------------------------------------------------+
|   Category    |                  Architecture styles                   |
+---------------+--------------------------------------------------------+
| Communication | SOA, ROA, Message Bus                                  |
| Deployment    | Client/Server                                          |
| Domain        | Domain Driven Design,Monolithic application            |
| Structure     | Component-Based, Object-Oriented, Layered, Plug-ins    |
+---------------+--------------------------------------------------------+

Ein Architekturmuster ist konkret heißt Umsetzung eines architektonischen Stil.

  • Zum Beispiel: 3-Tier, N-Tier, MVC, REST

Ein Entwurfsmuster ist eine allgemeine wiederverwendbare Lösung für ein häufig auftretendes Problem in Software-Design auf Architekturebene.

  • Zum Beispiel: Fabrik, Singleton, Prototype.

Analogy: Tempel-Architektur-Stil für verschiedene Religionen:

In meiner Ansicht nach Muster und Baustile sind ergänzende Mechanismen für Designkompetenz kapseln. Eine Architektur stellt einen Sammelblock Designelement des Gebäudes, Regeln und Einschränkungen für die Bausteine, zu komponieren, und Werkzeuge für die Analyse und Manipulation von Design im Stil geschaffen. Stile im allgemeinen Beratung und Analyse bieten eine breite Klasse von Architekturen in einer spezi fi schen Domäne für den Aufbau während Muster konzentrieren sich auf die Lösung kleiner, spezi fi schen Probleme in einem bestimmten Stil (oder vielleicht mehrere Stile).

Für Architectural Patterns denkt bestimmte Art und Weise zu Stil, wie Sie Ihren Code durch die beschriebene GoF wie; Adapter, Strategie, Builder, Mediator, etc

Für Architekturstil denken Gesamtsystem; Das heißt unter Verwendung von MVC für die Präsentation, zu DDD die Business-Schicht zu modellieren, WCF (wenn Sie in .NET) für Interop, SOA für Integration, etc.

Architectural Design Patterns sind domänenspezifische wo sind Baustile sind generisch und verwendbar in einem weiten Bereich von Anwendungen. Aufgrund dieser architektonischen Muster erfordert mehr Domänenwissen.

Architectural Patterns - ein allgemeinen Satz von Elementtypen definieren und ihrer Wechselwirkungen. Beispiele für Architectural Patterns umfassen Rohre und Filter, Model-View-Controller und Reflexion.

Architekturstil - der Begriff von Garlan und Shaw geprägt wurde, ist es ein idiomatische Muster der Systemorganisation. Zum Beispiel kann ein Client-Server-System ist ein Architekturstil.

P. S: Viele der ursprünglichen Baustile haben umformuliert als Muster.

Architektur Muster: Kontext + Problem -> Lösung

Architektur-Stil: Lösung Bestandteil der Architektur Muster

So Architektur-Stil ist auf die Lösung Teil des Architekturmuster analog. Es wird oft in Büchern Umgang mit Architektur-Dokumentation verwendet, bei denen der Schwerpunkt auf der Lösung ist und nicht, wie der Kontext und Problem kamen.

beschreibt Architektur-Stil, ein System aus vielen Komponenten. Es gibt nur eine Anwendungsarchitektur und Sie haben den einen architektonischen Stil wie Microservice, SOA und ereignisgesteuerte Architektur überall anzuwenden.

Architektur Muster beschreiben etwas in einer einzelnen Komponente und nicht versuchen, die gleichen Architekturmuster wie CQRS oder DDD überall anzuwenden.

Baustile sagt uns, in sehr groben Zügen, wie unser Code zu organisieren. Es ist die höchste Ebene der Granularität und es gibt Schichten, High-Level-Module der Anwendung und wie diese Module und Schichten miteinander interagieren, die Beziehungen zwischen ihnen. Beispiele für Baustile: Komponentenbasierte SOA

Architekturmuster haben eine umfangreiche Auswirkungen auf die Codebasis, die meist die ganze Anwendung aufprall entweder horizontal (dh., Wie in einer Schicht, die den Code-Struktur) oder vertikal (dh., Wie eine Anforderung von den äußeren Schichten in die verarbeitet wird, Innenlagen und zurück). Beispiele für Architectural Patterns: Model-View-Controller, Model-View-Viewmodel

Baustile

Baustile sind Namen, die die breiteren Organisationen Ihrer Anwendungen Subsystemen und stellen die Idee des Gesamt Umriss der es darstellen. Beispiele sind SOA, Client/Server, Message Bus usw.

Architekturmuster

Architekturmuster sind Namen der wiederverwendbaren Lösungen zu den allgemeinen architektonischen Problemen, die eine Vorstellung davon, wie die inneren Teile umgesetzt werden, sie zu lösen. Beispiele sind 2-Tier, 3-Tier, N-Tier, MVC, REST etc.

Ein Modell kann mehrere Muster verwenden, um mehrere Probleme zu lösen. Zum Beispiel kann ein Client / Server-Stil kann ein N-Tier-Muster verwenden oder (und) ein MVC-Muster für die Trennung seiner Unternehmen Logik Präsentationslogik und Datenlogik für die Einführung Modularität, die löst modifiability und maintainability Probleme.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top