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?