Domanda

Software Architecture - Fondazioni, Teoria e pratica , che possono trovare le definizioni per entrambi. Il problema è che non ottengo ciò che significa ognuno di loro in parole povere:

pattern architetturale

  

Un modello architettonico è una raccolta denominata di decisioni di progettazione architettonica che sono applicabili a un problema di progettazione ricorrente parametrizzato tenendo conto dei diversi contesti di sviluppo software in cui visualizzata problema.

Stile Architettonico

  

uno stile architettonico è una raccolta denominata di decisioni di progettazione architettonica che (1) sono applicabili in un dato contesto di sviluppo, (2) limitare le decisioni di progettazione architettonica che sono specifici per un particolare sistema in tale contesto, e (3) sollecitare benefica qualità in ciascun sistema risultante.

Che cosa fa ognuno media e quali sono le differenze tra di loro?

È stato utile?

Soluzione

Un modello architettonico è un modo per risolvere un problema architettonico ricorrente. MVC, per esempio, risolve il problema di separare l'interfaccia utente dal modello. Sensor-Controller-attuatore, è un modello che vi aiuterà con il problema di azionamento di fronte a diversi sensi di ingresso.

uno stile architettonico, d'altra parte, è solo un nome dato ad un progetto architettonico ricorrente. Al contrario di un modello, non esiste a "risolvere" un problema.

Tubazioni e filtro non risolve alcun problema specifico, è solo un modo di organizzare il codice. Client / Server, programma principale e subroutine ed astratti tipi di dati / OO, lo stesso.

Inoltre, una singola architettura può contenere diversi stili architettonici, e ogni stile architettonico può fare uso di diversi modelli architettonici.

Altri suggerimenti

Francamente, ho sempre considerato questi due termini come sinonimi! E laico (relativamente parlando) la letteratura li tratta sicuramente come tali. Fare riferimento MSDN o Wikipedia

Tuttavia, la tua domanda mi ha incuriosito un po 'così ho fatto un po' più di scavo e francamente ... ho potuto trovare molto ad eccezione di un riferimento a Una guida pratica per Enterprise Architecture (Il Coad Series) , dalla quale cito: -

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

In base a un po 'di googling , questo è quello che penso potrebbe essere uno dei modi per differenziare i due

  • Uno stile architettonico è un modo concettuale di come verrà creato il sistema / funzionerà
  • Un modello architettonico descrive una soluzione per l'attuazione di uno stile a livello di sottosistemi o moduli e le loro relazioni.

Come un pattern architetturale sarà diverso da un modello di progettazione cioè adattatore, osservatore è sostanzialmente dal livello di granularità a cui sono applicati (so che questo isnt parte della questione, ma il suo legati, credo)

In parole molto semplici:

  • Uno stile architettonico

    è un concetto, la teoria (e come è implementato spetta a voi). Si può applicare anche al di fuori del mondo del software.

    In Esempio: REST ( Representational State Transfer ) è un stile architettonico costruita su alcuni principi che utilizzano gli attuali fondamentali “Web”.

  • Un pattern architetturali

    Descrive una soluzione a livello di sistema del software (o modulo). In altre parole come interagisce reciprocamente esempio vista con il modello, e il modello con il regolatore.

  • Un design pattern

    è una soluzione a livello di nucleo, si parla di classi, funzioni e come effettivamente la logica scorre.

Stile Architettonico è astratta cioè concettuale.

+---------------+--------------------------------------------------------+
|   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    |
+---------------+--------------------------------------------------------+

un pattern architetturale è concreta attuazione cioè di uno stile architettonico.

  • Ad esempio: 3-tier, N-tier, MVC, RESTO

Un design pattern è una soluzione riutilizzabile generale ad un problema che si verificano comunemente nella progettazione del software a livello architettonico.

  • Ad esempio: Fabbrica, Singleton, Prototype.

Analogia: stile architettonico Templi per le diverse religioni:

entrare descrizione dell'immagine qui

A mio avviso, i modelli e gli stili architettonici sono meccanismi complementari per incapsulare esperienza di progettazione. Uno stile architettonico fornisce una raccolta di costruzione di elementi di blocco di design, regole e vincoli per comporre i blocchetti di costruzione, e gli strumenti per l'analisi e la manipolazione di disegni creati nello stile. Stili in genere forniscono una guida e di analisi per la costruzione di una vasta classe di architetture in un dominio speci fi co, mentre i modelli concentrarsi sulla soluzione, più speci fi co problemi più piccoli all'interno di un determinato stile (o stili forse più).

Per Architectural Patterns pensano modi specifici per stile il codice come descritto dal GoF simili; Adattatore, Strategia, Builder, mediatore, ecc

Per Stile architettonico pensare sistema nel suo complesso; Cioè utilizzando MVC per la presentazione, DDD per modellare lo strato di business, WCF (se siete in .NET) per Interop, SOA per l'integrazione, ecc.

modelli di progettazione architettonica sono più specifici del dominio in cui sono stili architettonici sono più generici e utilizzabile in un'ampia gamma di applicazioni. A causa di questo pattern architetturali richiede più conoscenza di dominio.

I modelli architettonici - definiscono un insieme generale di tipi di elementi e la loro interazioni. Esempi di modelli architettonici includono tubi e filtri, Model-View-Controller, e Riflessione.

Stile architettonico - il termine è stato coniato da Garlan e Shaw, è un modello idiomatica di organizzazione del sistema. Ad esempio, un sistema client-server è uno stile architettonico.

P.S: Molti degli stili architettonici originali sono stati riformulato come modelli.

Architettura modello: contesto + problema -> soluzione

stile Architettura: soluzione parte dell'architettura modello

architettura di stile Così è analoga alla parte soluzione del modello di architettura. E 'spesso usato in libri che trattano con la documentazione di architettura dove il focus è sulla soluzione e non come il contesto ed il problema è venuto circa.

stile Architettura descrive un sistema di molti componenti. C'è una sola architettura delle applicazioni e si deve applicare quello stile architettonico come Microservices, SOA, e l'architettura event-driven in tutto il mondo.

modelli di Architettura descrivere qualcosa all'interno di un singolo componente e non cercare di applicare gli stessi modelli architettonici come CQRS o DDD ovunque.

Gli stili architettonici ci dicono, molto grandi linee, come organizzare il nostro codice. È il più alto livello di granularità e specifica strati, moduli di alto livello dell'applicazione e come tali moduli e strati interagiscono tra loro, le loro relazioni. Esempi di stili architettonici: Component-based, la SOA

Modelli architettonici hanno un ampio impatto sulla base di codice, il più delle volte impatto l'intera applicazione orizzontalmente (cioè. Come strutturare il codice all'interno di un layer) o verticale (es. Come una richiesta viene elaborata dagli strati esterni nel strati interni e indietro). Esempi di modelli architettonici: Model-View-Controller, Model-View-ViewModel

Stili architettonici

Gli stili architettonici sono nomi che rappresentano le organizzazioni più ampie delle applicazioni sottosistemi e raffigurano l'idea dello schema generale del esso. Esempi sono, SOA, Client/Server, Message Bus ecc

Modelli architettonici

modelli architettonici sono i nomi delle soluzioni riutilizzabili ai problemi architettonici generali che danno un'idea di come le parti interne sono implementate per risolverli. Esempi sono, 2-Tier, 3-Tier, N-Tier, MVC, REST etc.

Uno stile può utilizzare più modelli per risolvere i molteplici problemi. Ad esempio, un Client / stile Server può utilizzare un modello N-Tier o (e) un pattern MVC per separare la sua di business logica , logica di presentazione e logica dei dati per introdurre modularità che risolve modifiability e problemi maintainability.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top