Upload
lamliem
View
221
Download
0
Embed Size (px)
Citation preview
Literaturverzeichnis 123
Literaturverzeichnis
Abts, D.; Mülder, W.: Grundkurs Wirtschaftsinformatik, 5. Aufl., Wiesbaden 2004
Balzert, H.: Lehrbuch der Softwaretechnik, Basiskonzepte und Requirements
Engineering, Heidelberg 2009
Balzert, H.: Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements
Engineering, 3. Auflage, Heidelberg 2009, S. 4f
Balzert, H.: Lehrbuch der Software-Technik: Software-Entwicklung, Heidelberg u.a.
1996
Bertram, A.: Nativ versus Web - Verschiedene Ansätze bei der App-Entwicklung,
http://stud.fh-wedel.de/~inf7337/native-app-entwicklung.html, 05.11.2012
Brumfield, B. et al.: Developer’s Guide to Microsoft PRISM 4, Redmond 2011
Bude, L.: Facebook iOS-App: Deutlich schneller dank HTML5-Verzicht,
http://t3n.de/news/facebook-ios-app-deutlich-410405/, 18.09.2012
Candar, K.: Mono.net goes Linux, Poing 2007
Costanich, B.: Developing C# Apps for iPhone and iPad using MonoTouch: iOS Apps
Development for .NET Developers, New York 2011
DIN EN IOS 9241-110: Ergonomie der Mensch-System-Interaktion, Teil 110:
Grundsätze der Dialoggestaltung, Beuth, 2008-09
DIN EN IOS 9241-12: Ergonomische Anforderung für Bürotätigkeit mit
Bildschirmgeräten, Teil 12: Informationsdarstellung. Beuth, 2000-08
Duden: plattformunabhängig,
http://www.duden.de/rechtschreibung/plattformunabhaengig, 12.07.2012
Eder, N.: Windows Presentation Foundation 4: Einführung und Praxis, Heidelberg
2011
Eller, F.: Visual C# 2010: Grundlagen, Programmiertechniken, Datenbanken, 4.
Auflage, München 2010
Engels, G. u.a.: Quasar Enterprise: Anwendungslandschaften serviceorientiert
gestalten, Heidelberg 2008
e-teaching.org: Plattformunabhängigkeit, http://www.e-
teaching.org/projekt/nachhaltigkeit/plattform, 12.07.2012
Fowler, M.: Inversion of Control Containers and the Dependency Injection pattern,
http://martinfowler.com/articles/injection.html, 25.09.2012
M. Schmitz, Strategie für die Portierung von Desktop-Business-Anwendungenauf iOS-gestützte Endgeräte, BestMasters, DOI 10.1007/978-3-658-04769-6,© Springer Fachmedien Wiesbaden 2014
124 Literaturverzeichnis
Franko, O. I.; Tirrell, T. F.: Smartphone App Use Among Medical Providers in
ACGME Training Programs, in: Journal of Medical Systems, 36. Jg., 2012,
H. 5
Frischalowski, D.: Visual C# 2010: Einstieg für Anspruchsvolle, München 2010
Gewinnus, T.; Doberenz, W.: Der Visual C# Programmierer, München 2009
Gossman, J.: Introduction to Model/View/ViewModel pattern for building WPF apps,
http://blogs.msdn.com/b/johngossman/archive/2005/10/08/478683.aspx,
13.08.2012
Haefele, C.: One Block at a Time: Building a Mobile Site Step by Step, In: The
Reference Librarian, 52. Jg., 2010, H. 1-2
Heinecke, A. M.: Mensch-Computer-Interaktion, 2. Auflage, Heidelberg Berlin 2012
Hoffmann, Dirk W.: Software-Qualität, Berlin, Heidelberg 2008, S. 107
Hommel, G.: Portabilität von Software, in: Schneider, H.G. (Hrsg.): Portable Software,
Erlangen 1980, S. 10
http://msdn.microsoft.com/de-de/library/ms754130.aspx, 20.08.2012
http://plexityhide.com/wp/?page_id=34, 02.10.2012
http://www.apple.com, 09.10.2012
http://www.monocross.net/, 23.10.2012
http://www.mono-project.com/Main_Page, 04.10.2012
http://www.research2guidance.com/, 11.11.2012
http://xamarin.com/, 18.09.2012
http://xceed.com/Index.aspx?Lang=EN-CA, 02.08.2012
https://github.com/grumpydev/TinyIoC, 22.09.2012
iOS Developer Library, https://developer.apple.com/library/ios/navigation/index.html,
21.08.2012
Jaap, M.: iPhone 4S besitzt 512 MB RAM, http://www.maclife.de/iphone-
ipod/iphone/iphone-4s-besitzt-512-mb-ram, 10.02.2012
Kaindl, H.: Portability of Software, in: SIGPLAN Notices, 23. Jg., 1988, H. 6
Koller, D.: iPhone-Apps entwickeln: Applikationen für iPhone, iPad und iPod touch
programmieren, 1. Auflage, Poing 2010
Literaturverzeichnis 125
Kolokythas, P.: Microsoft bestätigt Windows Store für Windows 8
http://www.pcwelt.de/news/Windows-8-besitzt-Windows-Apps-3418928.html,
09.10.2012
Mirkazemi, A.: HTML5 Apps: Positioning with Geolocation,
http://mobile.tutsplus.com/tutorials/mobile-web-apps/html5-geolocation/,
18.09.2012
Mizouni, R. et al.: Challenges in “mobilizing” desktop applications: a new
methodology for requirements engineering, In: IIT'09 Proceedings of the 6th
international conference on Innovations in information technology, New York
2009, S. 280-284
Mooney, J.D.: Bringing Portability to the Software Process, Technical Report TR 97-
1, West Virginia University, Morgantown WV 1997
Mooney, J.D.: Strategies for Supporting Application Portability, in: IEEE Computer,
23. Jg., 1990, H. 11
Mueller, M.: Metriken zur Portabilitätsanalyse Windowsbasierter Software-Systeme,
Diplomarbeit, Humboldt-Universität zu Berlin, Berlin 2002
o.V.: A C# Hierarchical State Machine, http://code.google.com/p/stateless/,
02.08.2012
o.V.: About mono, http://www.mono-project.com/About, 18.09.2012
o.V.: Apple erfindet mit dem iPhone das Mobiltelefon neu,
http://www.apple.com/de/pr/library/2007/01/09Apple-Reinvents-the-Phone-
with-iPhone.html, 09.10.2012
o.V.: Assemblies, http://docs.xamarin.com/ios/about/assemblies, 18.09.2012
o.V.: Binding Objective-C Types,
http://docs.xamarin.com/ios/advanced_topics/binding_objective-
c_types,18.09.2012
o.V.: C# Language Specification, ECMA-334, 4. Aufl., Genf 2006, S. 15
o.V.: Capgemini sd&m tritt ab sofort unter der Marke Capgemini auf,
http://www.de.capgemini.com/news-events/news/capgemini-sdm/, 08.10.2012
o.V.: Cocoa Application Competencies for iOS,
https://developer.apple.com/library/mac/#documentation/General/Conceptual/D
evpedia-CocoaApp/Outlet.html#//apple_ref/doc/uid/TP40009071-CH4-SW1,
02.10.2012
o.V.: Das LENOVO® THINKPAD® T430 NOTEBOOK, T430_DS_DE.pdf
126 Literaturverzeichnis
o.V.: DataContractSerializer-Klasse, http://msdn.microsoft.com/de-
de/library/system.runtime.serialization.datacontractserializer.aspx, 29.09.2012
o.V.: Die Lenovo Thinkstation D30 Workstation, D30_DS_DE.pdf
o.V.: Einführung in WPF http://msdn.microsoft.com/de-
de/library/aa970268.aspx#Data_Binding, 20.08.2012
o.V.: Einführung in WPF, http://msdn.microsoft.com/de-
de/library/aa970268.aspx#Markup_And_Codebehind, 17.08.2012
o.V.: Eingabe: http://msdn.microsoft.com/de-de/library/ms751593, 20.08.2012
o.V.: EN ISO 9241, http://de.wikipedia.org/wiki/EN_ISO_9241, 24.09.2012
o.V.: Enterprise Library, http://msdn.microsoft.com/en-us/library/ff648951,
25.07.2012
o.V.: Erste Schritte mit Apps im Metro-Stil,
http://msdn.microsoft.com/library/windows/apps/br211386, 09.10.2012
o.V.: Fast eine Milliarde App-Downloads allein in Deutschland,
http://www.bitkom.org/de/presse/8477_71298.aspx, 18.10.2012
o.V.: Gartner Says Free Apps Will Account for Nearly 90 Percent of Total Mobile
App Store Downloads in 2012,
http://www.gartner.com/it/page.jsp?id=2153215, 18.10.2012
o.V.: Gartner Says Worldwide Sales of Mobile Phones Declined 2.3 Percent in Second
Quarter of 2012, http://www.gartner.com/it/page.jsp?id=2120015, 19.10.2012
o.V.: GTP.NET.SL, http://plexityhide.com/wp/?page_id=34, 19.07.2012
o.V.: Hinzufügen und Bearbeiten von Ressourcen (Visual C#),
http://msdn.microsoft.com/de-de/library/7k989cfy%28v=vs.80%29.aspx,
21.09.2012
o.V.: IDataErrorInfo-Schnittstelle, http://msdn.microsoft.com/de-
de/library/system.componentmodel.idataerrorinfo.aspx#Y0, 04.10.2012
o.V.: Introduction to MonoTouch,
http://docs.xamarin.com/ios/getting_started/introduction_to_monotouch,
07.08.2012
o.V.: iOS App Programming Guide, Cupertino 2012
o.V.: iOS Human Interface Guidelines, Cupertino 2011
o.V.: iOS Technology Overview, Cupertino 2011
Literaturverzeichnis 127
o.V.: iPad 2 – Technische Daten,
http://support.apple.com/kb/SP622?viewlocale=de_DE&locale=de_DE,
02.10.2012
o.V.: iPad 2 Grafik, Arbeitsspeicher und Rechenleistung,
http://www.focus.de/digital/computer/apple/tid-21652/ipad-2-grafik-
arbeitsspeicher-und-rechenleistung_aid_608053.html, 02.10.2012
o.V.: iPhone – Technische Daten,
http://support.apple.com/kb/SP643?viewlocale=de_DE, 02.10.2012
o.V.: Kovarianz und Kontravarianz, http://msdn.microsoft.com/de-
de/library/vstudio/ee207183.aspx, 10.09.2012
o.V.: Limitations, http://docs.xamarin.com/ios/about/limitations, 18.09.2012
o.V.: Microsoft Unity 2.0, http://www.microsoft.com/en-
us/download/details.aspx?id=9093, 02.08.2012
o.V.: Mobile Worker Population to Reach 1.3 Billion by 2015, According to IDC,
http://www.idc.com/getdoc.jsp?containerId=prUS23251912, 18.10.2012
o.V.: mono, http://www.mono-project.com/Main_Page, 18.09.2012
o.V.: Nearly 1 Billion Smart Connected Devices Shipped in 2011 with Shipments
Expected to Double by 2016, According to IDC,
http://www.idc.com/getdoc.jsp?containerId=prUS23398412, 18.10.2012
o.V.: NSUserDefaults Class Reference
o.V.: PRISM, http://compositewpf.codeplex.com/, 08.08.2012
o.V.: Real time quantitative PCR,
http://de.wikipedia.org/wiki/Real_time_quantitative_PCR, 17.10.2012
o.V.: Samsung Seria 8 LED Business Monitor,
Samsung_LS27A850DSEN_02.10.2012.pdf
o.V.: Smartphone-Absatz steigt rasant,
http://www.bitkom.org/de/markt_statistik/64086_70921.aspx, 18.10.2012
o.V.: Standard ECMA-334: C# Language Specification, http://www.ecma-
international.org/publications/standards/Ecma-334.htm, 18.09.2012
o.V.: Standard ECMA-335: Common Language Infrastructure (CLI),
http://www.ecma-international.org/publications/standards/Ecma-335.htm,
18.09.2012
o.V.: Storyboard – Cocoa Application Competencies for iOS,
https://developer.apple.com/library/mac/#documentation/General/Conceptual/D
128 Literaturverzeichnis
evpedia-CocoaApp/Storyboard.html#//apple_ref/doc/uid/TP40009071-CH99-
SW1, 02.10.2012
o.V.: Streamline Your App with Design Patterns,
https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadM
apiOS/chapters/StreamlineYourAppswithDesignPatterns/StreamlineYourApps/
StreamlineYourApps.html, 22.08.2012
o.V.: System Namespace, http://msdn.microsoft.com/en-us/library/yxcx7skw.aspx,
08.10.2012
o.V.: Tablet Computer im Dauerboom,
http://www.bitkom.org/de/presse/8477_73736.aspx, 18.10.2012
o.V.: Target-Action - Cocoa Application Competencies for iOS,
https://developer.apple.com/library/mac/#documentation/General/Conceptual/D
evpedia-CocoaApp/TargetAction.html, 02.10.2012
o.V.: Über 100 Millionen Downloads weltweit über den App Store,
http://www.apple.com/de/pr/library/2008/09/09App-Store-Downloads-Top-
100-Million-Worldwide.html, 09.10.2012
o.V.: Übersicht über Datenbindung, http://msdn.microsoft.com/de-
de/library/ms752347.aspx#data_conversion, 20.08.2012
o.V.: Übersicht über die Eingabe, http://msdn.microsoft.com/de-
de/library/ms754010.aspx#commands, 20.08.2012
o.V.: Übersicht über die Ole DB-Programmierung, http://msdn.microsoft.com/de-
de/library/5d8sd9we%28v=vs.80%29.aspx, 08.10.2012
o.V.: Übersicht über Xaml, http://msdn.microsoft.com/de-
de/library/vstudio/ms752059.aspx, 08.10.2012
o.V.: View Controller Programming Guide for iOS, S. 111ff
o.V.: View hierarchy - Cocoa Application Competencies for iOS,
http://developer.apple.com/library/ios/#documentation/general/conceptual/Devp
edia-CocoaApp/View%20Hierarchy.html, 01.10.2012
o.V.: What is iText, http://itextpdf.com/itext.php, 19.07.2012
o.V.: Windows Forms, http://msdn.microsoft.com/de-
de/library/vstudio/dd30h2yb.aspx, 01.10.2012
o.V.: XamlService-Klasse http://msdn.microsoft.com/de-
de/library/system.xaml.xamlservices.aspx, 29.09.2012
Literaturverzeichnis 129
o.V.: Xceed.wpf.controls:
http://doc.xceedsoft.com/products/XceedWpfDataGrid/Xceed.Wpf.Controls.v4.
3~Xceed.Wpf.Controls_namespace.html, 27.07.2012
o.V.: Xceed.Wpf.DataGrid, http://xceed.com/Grid_WPF_Intro.html/, 28.07.2012
o.V.: Xcode Quick Start Guide
Olson, S. et al.: Professional Cross-Platform Mobile Development in C#, Indianapolis
2012
Prevezanos, Ch.: Computer Lexikon 2011, München 2010
Reenskaug, T.: THING-MODEL-VIEW-EDITOR an Example from a planningsystem,
http://heim.ifi.uio.no/~trygver/1979/mvc-1/1979-05-MVC.pdf, 13.08.2012
Roden, G.: Auf der Fährte von C#, Heidelberg 2008
Rügge, I.: Mobile Solution, 1. Aufl. Wiesbaden 2007
Siedersleben, J.: Moderne Softwarearchitektur, Heidelberg 2004
Siedersleben, J.: Quasar: Die sd&m Standardarchitektur Teil 1, München 2003
Smith, J.: WPF-Anwendungen mit dem Model-View-ViewModel-Entwurfsmuster,
http://msdn.microsoft.com/de-de/magazine/dd419663.aspx, 13.08.2012
Stark, J.: iPhone Apps with HTML, CSS, and JavaScript, Sebastopol 2010
Stäuble M.: Programmieren für iPhone und iPad, 4. Auflage, Heidelberg 2012
Steinberg, M.: HTML5 Application Cache: Inhalte offline verfügbar machen,
http://t3n.de/news/html5-application-cache-inhalte-390750/, 18.09.2012
Steinberg, M.: PhoneGap: Mobile Apps mit HTML5 und JavaScript,
http://www.readability.com/articles/6yc40ck8?print=1, 05.11.2012
Szyperski, C. u.a.: Component Software: Beyond Object-Oriented Programming,
London 2002
Target-Action - Cocoa Application Competencies for iOS,
https://developer.apple.com/library/mac/#documentation/General/Conceptual/D
evpedia-CocoaApp/TargetAction.html, 02.10.2012
Tavlikos, D.: iOS Development Using MonoTouch Cookbook, Birmingham 2011
Verclas, S.; Popien-Linnhoff, C.: Smart Mobile Apps – Mit Business-Apps in Zeitalter
mobile Geschäftsprozesse, Berlin, Heidelberg 2012
Wirtz, K. W.: Objektorientierte Programmentwicklung mit Visual Basic .NET,
Oldenburg 2008
Anhang 131
Anhang
A Methoden der Klasse AppDelegate
o FinishedLaunching: Ruft die Anwendung auf, sobald sie fertig geladen
wurde. Hier kann ein Entwickler weitere Initialisierungslogik
implementieren. Beispielsweise das Laden von Daten aus einer
Datenbank in das Objektmodel
o OnResignActivation: Ruft die Anwendung auf, sobald der Zustand von
Aktiv in Inaktiv wechselt
o DidEnterBackground: Ruft die Anwendung auf, sobald sie in den
Background-Zustand wechselt. Hier kann der Entwickler beispielsweise
gemeinsam genutzte Ressourcen wie das Adressbuch wieder freigeben
o WillEnterForground: Ruft die Anwendung auf, sobald sie wieder in den
Zustand Aktiv wechselt
o WillTerminate: Ruft die Anwendung auf, sobald sie vollständig
geschlossen wird.
B Presentation Integration System
Um Entwicklern bei der Erstellung reichhaltiger Frontend-Anwendung zu
unterstützen, hat Microsoft das PResentation Integration SysteM210
, kurz PRISM211
entwickelt. PRISM ist ein Sammelsurium an Mustern und Bibliotheken für die
Entwicklung zusammengesetzter Anwendungen auf Basis von C# und Windows
Presentation Foundation sowie Microsoft Silverlight. Es bietet einen schnellen
Einstieg und stellt dafür eine umfangreiche Dokumentation, verschiedene
Referenzanwendungen und Bibliotheken bereit.
210
Vgl. o.V.: Prism, http://compositewpf.codeplex.com/, 08.08.2012 211
Ehemals bekannt unter dem Namen „Composite Application Guidance for WPF and Silverlight“
M. Schmitz, Strategie für die Portierung von Desktop-Business-Anwendungenauf iOS-gestützte Endgeräte, BestMasters, DOI 10.1007/978-3-658-04769-6,© Springer Fachmedien Wiesbaden 2014
132 Anhang
B.1 Ziel von PRISM
Das Ziel von PRISM ist die Entwicklung lose gekoppelter212
, zusammengesetzter
Anwendungen, um dadurch komplexe Aufgabenstellungen die eine
Benutzeroberfläche verlangen leichter
- implementieren,
- testen,
- bereitstellen,
- warten und
- erweitern
zu können.
Um dies zu erreichen, teilt PRISM die einzelnen Komponenten213
einer Anwendung
auf verschiedene Module auf. Zur Laufzeit führt die Anwendung diese Module wieder
zu einem Ganzen zusammen.
Die einzelnen Module repräsentieren entweder
- logisch trennbare Geschäftsvorfälle (Anwendungsfälle) oder
- verschiedene Infrastrukturdienste.
Sie sollten im Idealfall in keiner direkten Beziehung zueinander stehen. Das bedeutet,
dass die Module sich gegenseitig nicht kennen und nur über wenige Schnittstellen
untereinander kommunizieren.
B.2 Architektur
Die Architektur einer PRISM-Anwendung besteht aus drei Teilen.
- Shell (Hauptmodul)
- Weitere Module
- PRISM Komponenten
o Dependency Injection Container
o Loading Services
o Core Services
Außerdem setzt PRISM durchgängig das bereits vorgestellte Model-View-
ViewModel-Pattern ein.
212
Die einzelnen Klassen einer Anwendung besitzen keine implementierten Referenzen. Die
einzelnen Referenzen werden erst zur Laufzeit durch eine dritte Instanz während der
Initialisierung aufgelöst. 213
Komponenten sind Einheiten, die eine abgeschlossene Aufgabe erfüllen. Das Steuerelement
TextBox, dass die Eingabe von Text ermöglicht, ist z.B. eine Komponente.
Anhang 133
Abb. 7-1 Zusammengesetzten WPF-Anwendung mit PRISM
214
Die Shell ist das zentrale Modul der Anwendung, welche sämtliche Module zu einem
einheitlichen Erscheinungsbild zusammenführt.215
Sie beinhaltet weiterhin
verschiedene Dienst- und Infrastrukturkomponenten, welche die anderen Module
nutzen können. In den meisten Fällen jedoch lagert man diese Dienst- und
Infrastrukturkomponenten in eigene Module aus. Was ebenfalls zu einer Verbesserung
der Übersichtlichkeit beiträgt. Ein weiterer wichtiger Bestandteil der Shell ist die Shell
View. Sie ist das Hauptfenster (engl. Main Window) der Anwendung und bündelt
sämtliche Benutzerschnittstellen der einzelnen Module. Im Developer’s Guide to
Microsoft bezeichnen die Autoren das Hauptfenster teilweise ebenfalls als Shell. Für
die bessere Lesbarkeit dieser Arbeit, behält der Autor es sich jedoch vor, das
Hauptfenster weiterhin als Shell View zu bezeichnen.
Module sind in sich abgeschlossene Einheiten, die ein Entwickler unabhängig von
anderen Modulen erstellt. Sie beinhalten sämtliche Dienste, grafische Oberflächen und
214
Entnommen aus: Brumfield, B. et al.: Developer’s Guide to Microsoft PRISM 4, Redmond 2011,
S. 17 215
Vgl. Brumfield, B.et al.: Developer’s Guide to Microsoft PRISM 4,Redmond 2011, S. 14
134 Anhang
Datenmodelle um die Funktionalität eines Modules zu gewährleisten. Nicht selten
kommt es vor, dass ein Modul das Datenmodell der Anwendung repräsentiert.
Der dritte Teil der PRISM-Architektur beinhaltet Komponenten, die Microsoft für die
Umsetzung von PRISM bereitstellt. Sie gewährleisten die reibungslose Funktionalität
einer zusammengesetzten Anwendung.
B.3 Verwaltung der Abhängigkeiten verschiedener Komponenten
Lose gekoppelte Anwendungen haben die Anforderung, Abhängigkeiten zwischen den
einzelnen Komponenten möglichst gering zu halten. Um diese Anforderung zu
erfüllen, nutzt PRISM das Dependency Injection (DI)-Pattern bzw. einen
Dependency Injection-Container. Aufgrund des DI-Patterns bedarf es keiner festen
Implementierung von Objekt-Referenzen im Quelltext. Erst zur Laufzeit während der
Konstruktion eines Objektes injiziert der DI-Container die notwendige Abhängigkeit.
Sollte zu dieser Zeit noch keine Instanz des zu injizierenden Objektes bestehen,
erledigt dies der DI-Container. Als Voraussetzung muss der DI-Container sämtliche
Objekte im Vorfeld kennen. Aus diesem Grund Registriert die Anwendung innerhalb
der Startphase bzw. während des Ladens eines Moduls, alle betroffenen Objekte beim
DI-Container.
B.4 Kommunikation zwischen den Modulen
In lose gekoppelten Anwendungen haben die einzelnen Module keine direkte
Verbindung untereinander. Trotzdem müssen sie miteinander kommunizieren können.
PRISM stellt hierfür drei Lösungen bereit.216
- Loosly Coupled Events
- Shared Services
- Shared Resources
In der ersten Lösung tauschen die Module Informationen über so genannte Events aus.
Dazu registrieren sich ein oder mehrere Empfänger (Subscriber), für den Empfang
eines Events beim Event Aggregator. Sobald ein Modul Informationen austauschen
möchte, schickt es ein Event an der Event Aggregartor. Der Event Aggregartor leitet
den Event an die registrierten Module weiter. Diese Funktionsweise ist relativ einfach,
birgt jedoch die Gefahr, dass die Anzahl der Events sehr schnell ansteigt. Dies führt oft
zu einer Unübersichtlichkeit, was die Wartbarkeit einer Anwendung erheblich
beeinträchtigt.
216
Vgl. Brumfield, B. et al.: Developer’s Guide to Microsoft PRISM 4,Redmond 2011, S. 50
Anhang 135
Abb. 7-2 Event Aggregator Service
217
Im zweiten Ansatz lagert PRISM gemeinsame Aufgaben auf Service-Klassen aus, die
von allen Modulen genutzt werden können. Diese Service-Klassen sind meist in einem
eigenen Infrastruktur-Modul zusammengefasst.
In der letzten Möglichkeit kommunizieren die Module über gemeinsam genutzte
Daten. Das kann entweder eine Datenbank, ein Webservices oder ein ganzheitliches
Objektmodell sein.
B.5 Zusammensetzung der Benutzeroberfläche
Die Benutzeroberfläche einer PRISM Anwendung setzt sich aus verschiedenen
Ansichten (Views) zusammen, die aus unterschiedlichen Modulen stammen. Eine
zentrale Ansicht, die Shell View, fast die einzelnen Views zusammen, weiß aber
weder von welchem Modul sie stammen, noch welche Steuerelemente bzw. welche
Aufgaben sie erfüllen. Die Anordnung der untergeordneten Views erfolgt in so
genannten Regionen. Regionen sind Platzhalter, die ein RegionManager zur Laufzeit
gegen die tatsächlichen Views ersetzt. Die Verwendung von Regionen ist nicht auf die
Shell View begrenzt. Weitere Views können ebenfalls Regionen besitzen, was zu einer
Mehrstufigen View-Hierarchie führt.
217
Entnommen aus: Brumfield, B. et al.: Developer’s Guide to Microsoft PRISM 4, Redmond 2011,
S. 198