2009-03-31 8 views
9

Mi viene in mente un'applicazione aziendale WPF nella mia testa e una cosa che ha suscitato il mio interesse è stato come dovrei gestirlo rendendolo incredibilmente modulare. Ad esempio, la mia applicazione principale conterrebbe semplicemente le basi per avviare l'interfaccia, caricare i moduli, connettersi al server, ecc. Questi moduli, sotto forma di librerie di classi, conterrebbero la loro logica e le finestre WPF. I moduli possono definire i propri dizionari delle risorse e tutti possono estrarre dal dizionario delle risorse dell'applicazione principale per pennelli comuni e simili.Creazione di un'applicazione aziendale altamente modulare con WPF?

Qual è il modo migliore per implementare un sistema di questo tipo? Come dovrebbe essere costruita l'interfaccia principale in modo che i moduli che carica possano alterare virtualmente qualsiasi aspetto della sua interfaccia e logica utente?

Mi rendo conto che è una domanda abbastanza vaga, ma sto semplicemente cercando input generali e brainstorming.

Grazie!

risposta

8

Partenza Composite Client Application Guidance

Il Composite Biblioteca applicazione è progettata per aiutare gli architetti e sviluppatori di raggiungere i seguenti obiettivi:

Creare un'applicazione complessa da moduli che possono essere costruiti, assemblati, e, opzionalmente, distribuiti da team indipendenti che utilizzano WPF o Silverlight.

Ridurre al minimo le dipendenze tra team e consentire ai team di specializzarsi in aree diverse, come la progettazione dell'interfaccia utente (UI), l'implementazione della business logic e lo sviluppo del codice di infrastruttura.

Utilizzare un'architettura che promuova la riusabilità tra i team indipendenti.

Aumentare la qualità delle applicazioni estraendo i servizi comuni disponibili per tutti i team.

Integrare in modo incrementale nuove funzionalità.

1

Dai un'occhiata alla Prism

+0

Prism È la "guida per l'applicazione client composito" menzionata da Gulzar –

+0

Denis: entrambe le risposte sono state pubblicate quasi alla stessa ora. –

2

Prima di tutto si potrebbe essere interessati a SharpDevelop attuazione. Si basa sul proprio sistema di addin noto come AddInTree. È un progetto separato e può essere utilizzato gratuitamente all'interno delle proprie soluzioni. Tutto è diviso tra diversi addin in cui gli addin sono facilmente aggiunti/rimossi/configurati tramite file xml. SharpDevelop è un progetto open source in modo da avere una possibilità di esaminare come viene introdotta l'infrastruttura, nonché le integrazioni di bus di servizio e cross-addin. Il core addin tree può essere facilmente spostato nel progetto WPF senza implicazioni.

L'opzione successiva sta prendendo "Composite Client Application Guidance" (alias Prism, alias CompositeWPF) già menzionato in precedenza. Otterrai il supporto Unity (Object builder) out-of-box, Aggregazione eventi e l'insieme di validi schemi di progettazione implementati.

Se si desidera eseguire un design e un'architettura di basso livello, lo MEF sarà la scelta migliore (anche se si lavora con tutti e tre come questo personalmente). Questo è ciò su cui si baserà VS 2010, quindi potresti essere sicuro che il progetto non perderà il supporto in futuro.

Il mio consiglio sta elaborando questi approcci e selezionando quello migliore ed efficiente che si adatta perfettamente alle vostre esigenze e alle esigenze del vostro progetto.

Problemi correlati