|
From: Steffen S. <ste...@gm...> - 2002-06-20 23:22:35
|
Erik Moeller wrote:
>So,
>
>ich habe jetzt mal die Settnigs-Interfaces eingecheckt. Wer immer
>irgendwelche Konfig.-Parameter abfragen will, sollte sich über
>LgApplication mit getSettings das Objekt holen und kann dann mit den
>Methoden aus dem Interface die einzelnen Parameter abfragen (siehe
>Javadoc).
>
Ein bischen spät, ich weiß aber ich habe heute genug mit dem Streams und
Sockets rumgekrampft
um das abbrechen und resumen sauber hinzukriegen daß ich mir die
Settings erst jetzt richtig
angeschaut habe. Zwei Sachen gefallen mir mittlerweile aber nicht so
1. hier (und woanders nochmal)
/**
* assign the directory map list we want to use - this method is
* used by the database layer.
*
* @param i_list the list that we want to use.
*
*/
void setDirectoryMapList(ftraq.util.LgDirectoryMap_List i_list);
Die unteren Schichten sollten die darüber nicht kennen
(->3-Schichten-Modell). Wenn sie
es doch tun müssen, dann aber bitte heimlich und nicht noch in den
Kommentaren mit
den Fingern draufzeigen ;). Besser wäre auch hier wenn sich die
LgSchicht die Werte aus
der DbSchicht mit gettern holt, und wenn nötig mit Observer Pattern dazu
aufgerufen wird.
2. Die typsicheren Maps und Listen sind zwar eine feine Sache, aber
irgendwie schöner
wäre es doch, die Implementierung als Listen und Maps nicht nach außen
preiszugeben,
sondern stattdessen nur Methoden zum logischen Zugriff ohne Hinweis auf die
verwendete Implementierung bereitzustellen
z.B.
void setIntegerOption(String i_name, int i_value);
int getIntegerOption(String i_name);
boolean doesFileNameHaveTextFileExtension(String i_fileName);
void addTextFileExtension(String i_extension);
void removeTextFileExtension(String i_extension);
String getMappedDirectoryName(LgSystemID i_theSystemOfThePathName,
String i_thePathName, LgSystemID i_theCurrentlyRunningSystem);
void addNewMapping(LgSystemID i_firstSystem, String
i_pathNameOnFirstSystem, LgSystemID i_secondSystem, String
i_pathNameOnSecondSystem);
dann könnte man auch außerdem Gültigkeitsprüfungen in der Klasse
LgSettings durchführen
denn da gehören sie meiner Meinung nach hin, so finde ich es z.B. bei
der Verwendung von Maps
sehr häßlich daß sie bei nicht vorhandenen Elementen null pointer
herausgeben.
>
>Wenn Ihr Änderungen wollt, meldet Euch bitte möglichst bald, damit ich
>bei der Implementierung weniger Arbeit habe.
>
>
Ich hoffe das war nicht zu spät, aber ich hatte schon ohne das Laufwerks
Mapping genug Probleme mit dem FileSystem, und hatte
deswegen zuerst nur einen kurzen Blick auf die eingecheckten Dateien
geworfen und mir dabei nur das util und db paket angesehen.
gruß,
Steffen
morgen um 2 treffen und abmachen wer was vorzeigen will?
|