Dieses HowTo soll zeigen, wie man in weniger als 3Minuten eine modulare Anwendung mit der Composite Application Library umsetzen kann.

Dazu hab ich vorerst 3 Projekte erstellt, mit denen man seine Anwendung aus diesen Vorlagen erstellen kann. Diese Grundbasis wird für jede Applikation benötigt, welche modular und skalierbar sein soll.

Ein Tipp für den, der noch nicht mit Vorlagen gearbeitet hat: Die entsprechenden Vorlagen einfach als *zip Datei lassen und nach „C:\Users\DEINUSER\Documents\Visual Studio 2008\My Exported Templates“ kopieren und Visual Studio ggfl. neu starten.

Zu erst benötigen wir die Projektvorlage Composite Application Library“ und geben unsere Anwendung eine Bezeichnung.

CAL1

Anschliessend erstellen wir in unsere Solution einen SolutionOrdner mit dem Namen CAL in den wir die benötigten *.dlls kopieren die man von CodePlex beziehen kann, oder von hier.

CAL2

Die CALApplication Vorlage „Composite Application Library“ beinhaltet die Verweise bereits auf die dlls, aber einfach hier noch einmal nachschaunen und ggf. neu verweisen.

CAL3

Nun können wir ein neues Projekt in der Anwendung erstellen, welches als ApplicationCore bereit stehen soll, hier können später alle HelperKlassen, Converter, BasisKlassen gehalten werden.

Dazu erstellen wir ein neues Projekt in der Solution und wählen aus den Projektvorlagen CALApplicationCore und benennen dieses nach Wahl.

CAL4

Jetzt müssen wir die, „Hauptanwendung“ auf ApplicationCore referenzieren und wählen im Verweis das Projekt ApplicationCore

CAL5

Nun können die Module erstellt werden, die wir später in die CAL „injektieren“ wollen. Dazu erstellen wir ein neues Projekt aus einer Projektvorlage, wählen das CALModul und benennen es auch hier nach Wahl.

CAL6

Um auch hier die CoreKlassen nutzen zu können, müssen wir ApplicationCore wie zuvor in der „Hauptanwendung“ als Verweis hinzufügen.

Die Hauptanwendung muss nun auf das Modul referenzieren, also auch hier einen Verweis setzen.

CAL7

Im Bootstrapper registrieren wir jetzt das Modul.

CAL8

Der ApplikationsGrundstein ist gelegt und wir haben eine CAL Anwendung mit einem Modul. Für mehr Module einfach wieder die letzte Schritte wiederholen und im Bootstrapper das jeweilige neue Modul registrieren, in dem wir dieses dem StaticModuleEnumerator hinzufügen.


return new StaticModuleEnumerator()
                .AddModule(typeof(ModulA.Register))
                .AddModule(typeof(ModulB.Register));


In späteren HowTo’s werde ich zeigen, wie man ein Modul aufbaut (MVVM), wie die Module untereinander kommunizieren können, oder wie ein Modul eigene Navigationselemente in einem MenüModul „injektiert“.

Ich hoffe das hilft schon mal dem einen oder anderen die Composite Application Library im Ansatz zu verstehen.

Viel Spass beim entwickeln.

Downloads

dll’s:

Microsoft.Practices.Composite.dll
Microsoft.Practices.Composite.UnityExtensions.dll
Microsoft.Practices.Composite.Wpf.dll
Microsoft.Practices.ObjectBuilder2.dll
Microsoft.Practices.Unity.dll

CAL Anwendung in 3 Minuten
Markiert in: