Domanda

Penso che la logica aziendale dovrebbe esistere in un modello quando si utilizza un modello di progettazione MVC o MVP, ma dovrebbe essere nascosta dietro un servizio in un'architettura orientata al servizio.

Un sistema software può utilizzare il modello di progettazione MVC o MVP all'interno di un'architettura orientata ai servizi? In tal caso, dove si trova la modella?

È stato utile?

Soluzione

Beh, sono animali totalmente diversi. MVC riguarda la presentazione dei dati, il controllo della navigazione della finestra di dialogo dell'utente e alcune logiche aziendali nella creazione del modello di dati.

La SOA riguarda il recupero di dati da un fornitore di servizi.

Sul lato client, è possibile utilizzare SOA nella parte Modello del modello MVC per creare il modello con i dati di un servizio SOA.

Dal lato del servizio, poiché non vi è alcuna presentazione e nessuna finestra di dialogo dell'utente, la maggior parte del modello MVC diventa ridondante. Inoltre, una buona progettazione SOA dovrebbe concentrarsi sulla fornitura di un servizio utile indipendentemente dall'archivio dati sottostante, quindi il "modello" la parte diventa in gran parte casuale.

È vero che molti servizi sono "quotati" " (ad es. gli ordini vengono convalidati, pagati, spediti quindi ricevuti), ma questi stati sono parte integrante della logica aziendale e non si prestano alla gestione della sessione tipica del modello MVC.

Altri suggerimenti

Buona domanda. Penso che MVC e SOA esistano e debbano coesistere. MVC è l'architettura più efficace per la comunicazione tra utente e sistema. La SOA è un'architettura per un'efficace comunicazione sistema-sistema. Nella maggior parte delle organizzazioni, c'è un posto per entrambi. Pertanto credo che coesisteranno.

In termini di come interagiscono tra loro, la mia opinione personale è: MVC rimarrà (una volta che l'hype SOA è sparito) come modello architettonico principale con modelli e controller che espongono le interfacce di servizio, ove appropriato.

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