Nachrichtenübermittlung aus dem Programm heraus
aus AlricgWiki, der freien Wissensdatenbank
Dieser Artikel soll einen Überblick geben über die Infrastruktur der Nachrichtenübermittlung und wann welches Mittel benutzt werden sollte.
Inhaltsverzeichnis |
Logging
Das Logging ist vor allem für Entwickler wichtig und bekommt der Benutzer nochmalerweise nicht zu gesicht. Hierunter fallen Fehlermeldungen oder Infos über entscheidene Vorgänge, die für eine spätere evtl. Suche nach Fehlern wichtig sein könnte. Während die Logs zur Entwicklung nur auf der Konsole ausgegeben werden, werden die Logs im späterern Einsatz in eine Datei geschrieben. Bei einem Fehler kann der Benutzer dann die Datei durchsehen bzw. an die Entwickler schicken und diese können im Idealfall anhand der Logs erkennen wo der Fehler liegt oder ihn zumindest eingrenzen. In diesem Sinne sollten die Logs also auch eingesetzt werden. Für das Logging ist das Feld "logger" aus der Klasse "ProgAdmin" verantwortlich. Dabei handelt es sich um eine Instanz der Standart-Java Klasse "Logger".
Transparenz bei der Berechnung
Es soll für den User möglichst Transparent sein, wie sich Werte errechnen und bestimmte "Entscheidungen" (dies darf gewählt werden, dies nicht) ergeben. Damit dies möglicht ist müssen im Hintergrund bei allen Berechnungen/ Entscheidungen Nachrichten dazu Vermerkt werden, so dass diese angezeigt werden können. Dafür ist die Klasse "Notepad" gedacht. Hier können einzelne Schritte vermerkt werden und zu einer Nachricht zusammengefügt werden. Solche Hintergrundinfos sollen natürlich nicht immer angezeigt werden (wenn eine Tabelle aller Talente angezeigt wird, soll nicht für jedes Talent angezeigt werden wie sich die Kosten-Kategorie errechnet). Daher gibt es zwei Arten von Nachrichten "Primäre" und "Sekundäre". Primäre werden dem Benutzer immer angezeigt, Sekundäre werden nur dann angezeigt, wenn diese abgerufen werden. Für nähere Infos siehe das JavaDoc der Klasse "Notepad".
Nachrichten an den User senden
Wenn Nachrichten dem Benutzter angezeigt werden sollen (z.B. Fehlermeldungen oder wichtige Infos), die nicht speziell für ein Feld gedacht sind (z.B. ToolTip o.ä.), dann sollte die Klasse "Messenger" benutzt werden. Alle GUI-Elemente die für das anzeigen von Nachrichten zuständig sind (z.B. eine Statusleiste, ein Fenster, eine Liste von wo aus die Nachrichten abgerufen werden können) registrieren sich beim Messenger und werden dann über jede eingehende Nachricht informiert. Je nach Art der Nachricht werden die GUI-Elemente die Nachricht dann verarbeiten und dem User zur anzeige bringen.
Anmerkungen
- System.out.println("..") sollte also NICHT verwendet werden, hierfür gibt es den Logger
- Nicht vergessen: Alle Texte die für den Benutzer sind, sollen über die Library laufen! (Der Logger ist nicht für den Benutzer, also wird hier auch keine Library benötigt)
