Thread OOP Parameterübergabe direkt oder indirekt ? (21 answers)
Opened by der_thomas at 2014-04-26 00:16

der_thomas
 2014-04-26 00:16
#175062 #175062
User since
2013-09-07
158 Artikel
BenutzerIn
[default_avatar]
Ich habe eine Frage zur OOP:

Soweit ich das bisher gesehen und verstanden habe übergibt man bei der Initialisierung eines Objekts meist (oder immer ?) dessen Parameter direkt, also z.B.
Code (perl): (dl )
$teilnehmer = member->new('thomas', 46);


Für das wozu ich es brauche will ich die Parameter aber von einer Datei einlesen und diese Daten hätten dann im Code des Mainscripts nichts mehr zu tun.

Daher kam ich auf die Idee diese Daten vom Konstrukter einlesen zu lassen und als Parameter nur den Dateinamen mitzuliefern, z.B. so:

Code (perl): (dl )
1
2
$genre_dict = dict->new(genredict);         # liest die Daten der Datei 'genredict' ein und erzeugt daraus einen (Objekt)Hash.
$besitzer_dict = dict->new(besitzerdict);

u.s.w.

Spricht etwas gegen so eine Vorgehensweise ?
Ich frage deshalb weil ich das so noch nicht gesehen habe...was aber nun auch nicht viel bedeutet ;)

Oder wäre es klüger die Daten doch vom Frontend aus einzulesen, per
Code (perl): (dl )
$genre_dict = dict->new(@daten);

das Objekt erzeugen zu lassen und das Array (im Frontend) hinterher mit
Code (perl): (dl )
@daten = ();

zu löschen ?


Vielleicht noch zum Hintergrund:
Es geht um eine Kurzschreibweise in Eingabefeldern eines Datenbankfrontends - hier soll dann beispielsweise, wenn man ein 'h k' eingibt, ein 'Hörspiel Krimi' zurückgeliefert werden.
Oder aus einem 't' soll ein 'Thomas' werden.
Technisch habe ich den für mich neuralgischen Punkt (die Regexe) schon gelöst, nur ist das momentan noch hartcodiert im Frontend, also ohne Einlesen der Daten aus einer Datei, was nicht DRY ist und auch später schwerer zu warten bzw. zu erweitern ist - das will ich nun ändern und eben so machen dass ich es flexibel für mehrere Kategorieen (Genre, Besitzer, Ort ...) und auch von mehreren Frontends aus nutzen kann.

thomas
Last edited: 2014-04-26 00:18:17 +0200 (CEST)

View full thread OOP Parameterübergabe direkt oder indirekt ?