Sito Web ASP.NET MVC e servizio Web WCF - Funzionalità di condivisione

0

Ho la seguente situazione: devo creare un sito web e un servizio web che share a part of the functionalities .

Questo è il motivo per cui non voglio scrivere codice due volte.

Ho pensato alla seguente architettura:

MyApp.BusinessLogic - > qui salviamo i DataModel nel database

MyApp.DataAccess - > DataModels & Entità e amp; mappatura

MyApp.UI.Models - > ViewModels

MyApp.UI.ServiceLayer - > Acconsenta la Business Logic, crea l'UI ViewModels per il sito Web e trasforma i ViewModels in DataModels per il salvataggio con l'aiuto di BusinessLogic Layer

MyApp.WebSite

Modelli MyApp.WS.Models - > Ws, questi saranno gli oggetti passati tra il client e il WS

MyApp.WS.ServiceLayer - > Accede alla business logic, crea i modelli WS per il servizio Web e trasferisce nuovamente i WS.Models in DataModels per il salvataggio con l'aiuto di BusinessLogic Layer

MyApp.WebService

  • L'overkill dell'architettura?

  • Quali problemi incontrerò?

  • Avrò problemi con i controller nel sito Web ASP.NET MVC?

posta Dragos Durlut 25.03.2013 - 08:46
fonte

1 risposta

1

Penso che i modelli siano in progetti separati, penso che sia eccessivo. Dovresti avere i tuoi modelli e controller, insieme a View Models nei loro progetti rilevanti.

A seconda della tua architettura, potrebbe avere più senso avere il servizio con il sito web. Lo farei se fosse solo uno o due servizi, per diversi servizi o se ne hai bisogno per eseguire indipendentemente dal sito web, quindi lo farei come servizio separato.

Per quanto riguarda la condivisione delle funzionalità, cerca data transfer objects per trasferire le implementazioni leggere dei tuoi oggetti e dei grafici degli oggetti tra i livelli, in particolare con il livello di servizio, poiché non dovrai necessariamente trasportare grafici profondi. Esamina il modello adapter .

    
risposta data 25.03.2013 - 13:30
fonte

Leggi altre domande sui tag