ASP.NET MVC 3 (C #) Architettura software

4

Sto avviando un progetto ASP.NET MVC 3 relativamente grande e ambizioso e sto solo pensando al modo migliore per organizzare il mio codice. Il progetto sarà fondamentalmente un sistema di gestione generale che sarà in grado di supportare qualsiasi tipo di sistema gestionale sia che si tratti di un sistema di blogging, cms, sistema di prenotazione, wiki, forum, sistema di gestione dei progetti, ecc ..., ognuno di essi è solo un separato "modulo". Puoi leggere ulteriori informazioni sul mio blog pubblicato qui: link (perdonami, lo stile di il sito fa schifo).

Per coloro che non vogliono leggere il post sul blog lungo l'idea di base è che il sistema centrale stesso non è altro che un sistema utente con un'interfaccia di amministrazione per gestire il sistema degli utenti. Quindi aggiungi il modulo appena ne hai bisogno e il modulo che creerò sarà un semplice post sul blog per testarlo prima di passare al modulo grande che è un sistema di gestione dei progetti.

Ora sto solo cercando di pensare al modo migliore per strutturare questo in modo che sia facile per gli utenti aggiungere i propri moduli, ma è facile per me aggiornarli al sistema principale senza preoccuparmi che l'utente modifichi il codice principale. Penso che il modo ideale sarebbe avere un numero di progetti di base a cui l'utente è specificamente invitato a non modificare altrimenti il sistema potrebbe diventare instabile e gli aggiornamenti futuri non funzionerebbero. Quando l'utente vuole aggiungere i propri moduli, aggiungerebbe semplicemente un nuovo progetto (o più progetti). Il fatto è che non sono sicuro che sia persino possibile utilizzare più progetti tutti con i propri controller, modello di visualizzazione del rasoio, css, javascript, ecc. In un'unica applicazione web. Idealmente ogni modulo dovrebbe avere alcuni dei propri modelli di visualizzazione del rasoio, css, javascript, file immagine e anche bisogno di accedere ad alcuni dei principali modelli di visualizzazione del rasoio, css, javascript, file di immagine che sarebbero in un progetto separato.

È possibile eseguire 1 applicazione web su controller, modelli di visualizzazione del rasoio, css, javascript, file di immagini che vengono archiviati in più progetti?

È meglio strutturarlo per consentire all'utente di aggiungere facilmente il modulo con la necessità di modificare il codice di base?

    
posta ryanzec 16.03.2011 - 00:11
fonte

2 risposte

6

I am starting on a relatively large and ambitious ASP.NET MVC 3 project and just thinking about the best way to organize my code. The project is basically going to be a general management system that will be capable of supporting any type management system whether it be a blogging system, cms, reservation system, wikis, forums, project management system, etc…

L'ambizioso è un eufemismo e, leggendo il tuo post sul blog collegato, sembra che tu ti sia concentrato di più sulle tecnologie innovative che usi esattamente di quello che la tua super-app farà davvero. .

Detto questo, la cosa migliore che penso che tu possa fare è studiare attentamente il codice sorgente di Orchard . Ha raggiunto un alto grado di modularità e si basa su MVC3.

    
risposta data 16.03.2011 - 02:06
fonte
0

Wow ... questo non è stato un tentativo di raccolta fondi, ma immagino che il mio post sia stato cancellato. Il mio suggerimento era (come qualcuno che ha controllato RavenDB): Dai un'occhiata a MongoDB, vuoi la velocità .... è anche gratuito rispetto a Raven. La libreria Newtonsoft.json (JSON.NET) ora consente di serializzare oggetti su BSON, quindi dopo aver impostato il servizio è facile come afferrare gli oggetti da una raccolta.

Ho anche intenzione di collegarti al mio sito per un progetto open source su cui sto lavorando, ma a quanto pare le persone sono super vigili su questo qui ... suppongo che devo capire, non è il mio sito web.

    
risposta data 05.04.2011 - 01:51
fonte

Leggi altre domande sui tag