Home > Architektur > Visual Studio Projektstruktur

Visual Studio Projektstruktur

Wie bei jedem Softwareprojekt stellt sich am Anfang die Frage nach dem Anwendungsdesign bzw. der Architektur. Basierend auf den wichtigsten  Anforderungen hat sich ein Design ergeben das sich in der nebenstehenden Abbildung widerspiegelt.

Visual Studio Solution

Visual Studio Solution

Zu den wichtigsten Anforderungen zählen:

  • Datenbankunabhängigkeit
  • Bereitstellung von unterschiedlichen Clients (Web, Windows, …)
  • Verwenden von unterschiedlichen Quellen für Multimedia Inhalte (file, http, …)
  • Verwenden von unterschiedlichen Multimedia Inhalten (mp3, ogg, jpg, mpg, ….)

Den Kern bildet das Projekt “Spheria”. Die gesamte Funktionalität wird durch dieses Projekt bereit gestellt. Der Zugriff auf alle Funktionen wird durch eine Fassade von Service Klassen gekapselt.

Der Zugriff auf die Daten der Anwendung wird durch Repositories ermöglicht. Somit besteht die Möglichkeit das Repository (SQLite, SQL Server, MySQL, …) seiner Wahl zu verwenden.

Um unterschiedlich Quellen und Formate von Multimedia Inhalten zu unterstützen wird das Einlesen und Indizieren von Inhalten über Plugins realisiert.

Die Web Anwendung gliedert sich in die eigentliche Anwendung (Spheria.Web.Application) und einer Klassenbibliothek (Spheria.Web). Die Web Anwendung wird nach dem MVP Pattern umgesetzt und die Views (Seiten / Controls) sollen nur den minimal nötigen UI Code enthalten. Die Bereitstellung der erforderlichen Daten und Funktionen für die Views erfolgt durch Presenter die sich in der Klassenbibliothek befinden.

  1. Es gibt noch keine Kommentare.
  1. Keine Trackbacks bisher.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Log Out / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Log Out / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Log Out / Ändern )

Verbinde mit %s

Follow

Get every new post delivered to your Inbox.