« »

Geschäftsmodelle erkennen

8. April 2009 Roland

Dieser Artikel ist Teil 45 von 70 der Artikelserie Newssystem

Wir müssen die Daten für die Newseinträge, den Editor und die Kategorien schlussendlich irgendwie auf dem Server speichern. Damit wir die Datensätze mehr- oder weniger sinnvoll zusammenführen können, müssen wir die bisherigen Beschreibungen analysieren und entsprechend als Strukturen beschreiben.
Diese Strukturierung führt dazu, dass wir die notwendigen Daten in Geschäftsmodelle (Businessmodels) zusammenführen.
Für die Verwaltung der Geschäftsdaten werden wir entsprechende Methoden beschreiben und somit die Daten vor unsinnigen Zugriff schützen.
Und schubs, wir haben ein wohldefiniertes Geschäftsmodell mit allen Abhängigkeiten zu den umliegenen Geschäftsmodellen.
Easy oder?
Wenn du die Anwendungsfälle durchgehst, wirst du feststellen dass bestimmte Komponenten irgendwie zusammengehören.
Bei meinen Businessmodellen schreibe ich in den Namen des jeweiligen Modells und füge als Postfix “Model” hinzu. Dann weiss ich immer, dass es sich bei dieser Klasse um ein Modell handelt.
Ich habe mal einen Versuch gestartet und folgende Datengruppen gefunden:
Businessmodelle Klassendiagram

CategoryModel
Beinhaltet alle Daten die zur Beschreibung einer Kategorie und der dazugehörigen Editoren gehört.
EditorModel
Speichert alle Elemente, die einen Editor umfassend beschreibt.
MasterEditorModel
Hat alle Eigenschaften eines Editor, darf darüber hinaus jedoch noch tollere Sachen mit dem System machen. Die Beschreibung der tolleren Sachen legen wir im MasterEditor ab. Das MasterEditorModel leiten wir vom EditorModel ab.
SysAdminModel
Der Systemadministrator hat wiederum andere Eigenschaften als der Editor. Es bietet sich daher an, ihm ein eigenes Modell zu gönnen.
WebUserModel
Der Webuser hat zwar keine speziellen Daten, die wir abspeichern müssen, jedoch ergibt es Sinn seine Eigenschaften in einer Modellklasse zu kapseln. Wenn wir für dieses Modell keine Daten abspeichern müssen, macht das im Prinzip ja nichts aus. Hauptsache wir können auf ein wohldefiniertes Modell zugreifen.
UserModel
Wir haben einen Editor, einen MasterEditor und einen SysAdmin im System. Von jedem dieser Akteure wollen wir den Vor- und Nachnamen, ein Passwort und einen Loginnamen. Die e-Mailadresse wäre auch noch schick, sonst wird die Kommunikation mit dem Anwender etwas schwierig ;) Aus diesem Grund habe ich die Eigenschaften, die bei jedem UserModell identisch sind, in eine eigene Klasse verbannt. Dann müssen wir das nur einmal programmieren.
NewsListModel
Wir werden (hoffentlich) ganz viele News im System haben. Wenn wir beim Suchen immer durch alle Newseinträge einzeln durchscrollen müssen, werden wir vermutlich Performanceprobleme bekommen. Bei diesem Modell stelle ich mir eine Liste vor, in der die jeweiligen NewsModelle verlinkt werden.
NewsModel
Hier werden die einzelnen Newseinträge abgelegt und verwaltet. Jede News erhält ein solches Modell.
ImageModel
Verwaltet die einzelnen Datensätze eines Bildes. Ein Bild ist ein relativ komplexes Gebilde bei dem der Link zum Bild, der alternative Text und ein Titel abgespeichert werden sollen. Da ist ein Modell sicherlich sinnvoll.
ImageListModel
Einzelne Bilder werden in verschiedenen Newseinträgen vorkommen. Irgendwie habe ich das Gefühl, dass es sinnvoll wäre wenn wir uns die Information, wo ein Bild verwendet wird, irgendwie zugreifbar verwalten. Bei Löschen eines Bildes können wir so darauf hinweisen, dass dieses Bild eigentlich noch benötigt wird. Weiterhin können wir Bilder darstellen, die in keinem Newseintrag verwendet werden. (Hups! ein neuer Anwendungsfall :) )
Merken und weiterempfehlen Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Technorati
  • Wikio DE
  • Webnews
  • MisterWong
  • Y!GG
  • Digg
  • del.icio.us

Der Beitrag wurde am Mittwoch, den 8. April 2009 um 13:14 Uhr veröffentlicht und wurde unter Programmieren abgelegt.
Kurzlink: http://www.baldenhofer.eu/blog/?p=744

Dir gefiel der Artikel? Dann abonniere doch den RSS Feedrss

Du kannst die Kommentare zu diesem Eintrag durch den RSS 2.0 Feed verfolgen. Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.

...deine Chance den ersten Kommentar zu schreiben... ;-)

Schreibe mir

zum Seitenanfang