Architettura aziendale modulare con MVC e Orchard CMS

2

Sto realizzando un'applicazione MVC su larga scala utilizzando Orchard. E sto per separare la mia logica in moduli. Sto anche cercando di disaccoppiare pesantemente l'applicazione per la massima estensibilità e testabilità.

Ho una comprensione rudimentale di IoC, Pattern di Repository, pattern Unit of Work e Service Layer.

Mi sono fatto un diagramma. Mi chiedo se sia corretto e se c'è qualcosa che mi è mancato riguardo un'applicazione estensibile.

Nota che ogni modulo è un progetto separato.

Aggiorna

Quindi ho molti moduli UI che usano il modulo db, per questo sono stati suddivisi. Ci sono altri servizi che i moduli UI useranno. I moduli dell'interfaccia utente sono stati suddivisi perché saranno realizzati nel tempo, indipendentemente l'uno dall'altro.

    
posta MrJD 17.10.2012 - 06:04
fonte

1 risposta

3

Esatto in termini di cosa? La tua domanda è vaga, quindi è difficile rispondere. Penso che tu possa avere qualche idea sbagliata su cosa sia Orchard. Il tuo diagramma mostra Orchard come quello che sembra essere un server web, e sembra che tu abbia intenzione di fare tutta questa architettura dei tuoi moduli, separando ui da db e usando tutti i pattern che hai citato, ecc. In cima a Orchard. Ma Orchard fornisce già tutto questo, Orchard fornisce un metodo per l'accesso ai dati, l'integrazione delle dipendenze, la gestione dei contenuti, il controllo delle versioni, Theming, usa asp.net MVC che è il tuo gusto di MVC, ecc. Il punto è che puoi usare gli esistenti di Orchard estensibilità per costruire la tua applicazione. Le persone che usano Orchard hanno persino discusso se "quadro" potrebbe essere una descrizione migliore per Orchard di "CMS", a causa di tutte le cose che fa e della varietà di app che possono essere costruite con esso.

Esiste già un modello per come creare applicazioni con Orchard, che è diverso dal diagramma. Sei libero di fare il tuo tipo di accesso a db e personalizza tutto, ma se ti ritrovi a costruire una nuova app da zero con Orchard, e dall'iniziare ad aggirare tutti i modelli forniti da Orchard, potresti voler ripensare alle cose .

Dovresti leggere o rileggere la documentazione al link . Scoprirai che per costruire un sito con Orchard devi solo creare uno o più moduli e un tema. I moduli possono essere granulari quanto vuoi e se costruisci le cose come suggeriscono i documenti Orchard, e usando i moduli esistenti (sia quelli di tipo Orchard core, sia quelli di terze parti dalla galleria) come esempi, la tua app avrà una buona separazione di preoccupazioni. Sarai in grado di prendere pezzi dentro e fuori, sostituendoli con diverse implementazioni senza troppi effetti sul resto del sistema, ecc. Se segui semplicemente i documenti per costruire un modulo super semplice, avrai usato praticamente tutto il schemi e concetti architettonici che hai menzionato, che tu ne sia consapevole o meno.

    
risposta data 17.10.2012 - 22:39
fonte

Leggi altre domande sui tag