Quali architetture / linee guida dovrebbero essere considerate per scrivere un modulo riutilizzabile di progetto?

0

Introduzione

Sto lavorando su MyProject che è l'applicazione windows (desktop) in fase di sviluppo in C#.NET e DotNet Framework 4 in WPF . Il progetto è stratificato come DataAccessLayer (DAL) - > BusinessLogicLayer (BLL) - > ApplicationLayer (UI) .

Questo progetto ha un modulo chiamato MyModule che deve essere riutilizzato in altri progetti multipli con modifiche minime e possibilità di bug.

Tutti i progetti useranno lo stesso ambiente di sviluppo di MyProject . Ma, DAL sarà completamente diverso; NON sarà riutilizzato. Il modulo non avrà alcun controllo su di esso. Il modulo avrà BLL che sarà riutilizzato da tutte le applicazioni di chiamata. Anche l'interfaccia utente del modulo verrà modificata chiamando l'applicazione. Il codice XAML non farà parte della distribuzione; sarà nuovamente scritto chiamando l'applicazione.

distribuzione

Questo modulo verrà fornito ad altri progetti sotto forma di DLL compilate. L'applicazione di chiamata scriverà il proprio codice XAML e vincolerà ViewModels esposta dal modulo. Idealmente dovrebbe funzionare, ma potrebbe essere necessario un piccolo extra.

Inoltre, verrà distribuito BLL che verrà riutilizzato così com'è.

Ulteriori informazioni su MyModule : -

Questo modulo è costituito da una finestra dell'interfaccia utente principale. Da questa finestra principale verranno lanciate più finestre secondarie. Il modulo aumenta gli eventi che devono essere gestiti chiamando l'applicazione. Il modulo richiede input che devono essere forniti chiamando l'applicazione.

Esempio

Microsoft decide (sono sicuro che lo facciano ora) per riutilizzare la finestra "Opzioni" (Opzioni-File) in tutti i progetti di MS Office. Ma ogni progetto può decidere la GUI della finestra, dove le impostazioni devono essere salvate, come (file XML / INI ecc.) Le impostazioni devono essere salvate, ecc.

Il mio piano

Sto pianificando di esporre un ViewModel per finestra. Esporrò anche eventi / enum / structs se necessario. Per accettare i dati (dato che DAL sarà completamente diverso), esporrò le classi DTO che l'applicazione chiamante inserirà nel modulo.

problema

Ho creato moduli riutilizzabili in precedenza molte volte. Tutti quei moduli erano DLL senza GUI. Non c'era alcun ruolo nel collegare gli elementi dell'interfaccia utente e gli eventi con l'applicazione chiamante, consentendo al chiamante di progettare la propria interfaccia utente, ecc. Il mio problema chiave qui è come ottenere ciò? Quali linee guida dovrebbero essere seguite? Quale architettura dovrebbe essere usata? Come esporre un'interfaccia in DLL che è associabile a un progetto WPF ?

Puoi suggerire correzioni nel mio piano o scartare completamente il mio piano e suggerire il tuo nuovo piano.

    
posta Amit Joshi 08.11.2016 - 12:25
fonte

2 risposte

1

L'architettura che ho menzionato in questione mi sembra buona.

Per altri dettagli, ho scelto di implementare MVVM con Portable Assembly.

I seguenti riferimenti mi hanno aiutato:

link

link

link

    
risposta data 12.12.2016 - 09:59
fonte
-1

Un modo per raggiungerlo è

  1. Creazione di un servizio Web che serve sostanzialmente tutte le richieste in arrivo all'applicazione anche quelli che sono correlati al cliente interfaccia utente dell'applicazione. e la tua richiesta specifica per l'applicazione che intendi eseguire utilizzando la tua UserInterface.
  2. Crea controlli utente con UserInterface che utilizza il tuo servizio e condividi questo controllo utente con i client per consentire loro di utilizzare la tua interfaccia utente e integrarla nella loro applicazione.

Penso che questo dovrebbe funzionare per te ..

    
risposta data 08.11.2016 - 18:09
fonte

Leggi altre domande sui tag