[linux-l] Was mich an WebApplikationen immer und?immerwiderAnkotzt...

Olaf Radicke briefkasten at olaf-radicke.de
Sa Aug 2 18:03:59 CEST 2008


Am Samstag 02 August 2008 17:05:49 schrieb Rocco Rutte:
> Erstens ist es Sache des DB-Treibers die Daten übers Netz zu schaufeln
> und das wird wohl kein XML sondern proprietäre und binär sein. Und es
> wird nicht in Klasseninstanzen geparst.

Dann muss ich was falsch verstanden haben. Ich dachte, ich würde im Ersten 
Schritt Klassen definieren die meine Daten Repräsentieren. Also z.B.

<pseudoocode>

class Auto{
    + Haushalt haushalt
    + Zulassungsstelle zulassungsstelle
}

class Haushalt{
    + Int ID
    + Int anzahl_pappnasen
}

class Zulassungstelle{
    + enum länder_code{de,en,fr}
    + Ind landes_code 
}

class Werkstatt{
    + Int ID
    + string name
}

class Reperatur{
    + enum schadensnummer_fensterheber
    {
        forne_links,
        forne_recht, 
        hinten_links,
        hinten_recht
    }
    + Int schaden
    + Werkstatt werkstat
    + Auto auto
}
</pseudoocode>

Dann muss ich noch mit XML beschreiben wie die Klassen in die DB geschrieben 
werden sollen. Dann generiert Spring aus dem XML zu laufzeit Klassen-Fabriken 
die dann instanzen ausspuckt mit den ich dann diereckt arbeiten kann ohne 
mich weiter um die DB zu kümmern.

<pseudoocode>
List<Auto> liste_autos  = 
    (Auto)FrameWorkFabrik.Get(Auto.Haushalt.anzahl_pappnasen >= 4)

List<Reperatur> liste_reperatur  = 
    (Reperatur)FrameWorkFabrik.Get(Reperatur.schaden == 
Reperatur.forne_links )

foreach(Reperatur _reperatur in liste_reperatur)
{
    if(_reperatur.auto.haushalt.anzahl_pappnasen >= 4)
    {
		_noch_eine_liste.Add(_reperatur)
    }
}
</pseudoocode>

Wenn ich jetzt noch versuchen wollte meine Lassen Datenbankoptimiert zu 
gestalten, kommt einen Zoowächter gleich, der zum füttern der der Tiger einen 
Elefanten auf der Nase balancieren muss. Das ist mein Eindruck gewesen, als 
ich mich in Spring und Hibernate eingelesen habe.

Olaf



Mehr Informationen über die Mailingliste linux-l