Laden...

Data access logic components

Erstellt von Golo Roden vor 20 Jahren Letzter Beitrag vor 20 Jahren 5.712 Views
Golo Roden Themenstarter:in
4.207 Beiträge seit 2003
vor 20 Jahren
Data access logic components

Hallo,

nachdem nun mein Datenbankschema für die geplante Webapplikation steht, geht's nun an die Planung der DALC-Schicht ... und hier habe ich gleich mein erstes Problem.

Microsoft empfielt in einem Dokument aus der "Patterns & Practices"-Reihe, dass man mehrere logisch zusammengehörige DB-Tabellen über eine DALC anspricht ...

Nun, da habe ich schon mein erstes Problem. Als Ausschnitt aus meinem DB-Schema seien drei Tabellen gegeben:

Users enthält die Benutzer
Groups enthält die Benutzergruppen
UsersGroups enthält die Beziehungen zwischen Users und Groups (m:n)

Alles in eine DALC zu packen, fände ich ein bissel zu viel des Guten (andere Meinungen?). Im Prinzip würde ich hier rein intuitiv schon eine für Users und eine für Groups machen.

Dann stellt sich nur die Frage, gibt's nachher eine Methode UserDALC.AddToGroup oder GroupDALC.AddUser, oder beide (was aber aus Gründen der Redundanz auch wieder Quatsch wäre), oder wie macht man das am besten?

Gibt's hierfür vielleicht noch ein paar allgemeine Tipps?

Danke schon mal im Voraus,

Golo Haas

Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden

www.goloroden.de
www.des-eisbaeren-blog.de

C
980 Beiträge seit 2003
vor 20 Jahren

Warum in einer so kleinen App nicht alles in eine DALC packen? Wie du siehst bekommst du bei einer Trennung schnell Redundanzen ... häng halt auch davon ab was du alles damit machen willst, ab einem gewissen Umfang macht die Trennung sicher sinn.

Falls du trennst kannst du halt definieren, wer genau die Beziehung verwaltet - ob also die User ihre Gruppenzugehörigkeit verwalten oder ob die Gruppen die zugehörigen Member verwalten - und das dann konsequent durchziehen ... MS schlägt im Dokument allerdings eine andere Trennung vor: da überlegst du, was das eigentliche Subjekt der Aktion ist. Wenn du z.b. alle Member einer Gruppe abfragen willst ist das Subjekt der Member, also gehört es in die Member DALC.

Golo Roden Themenstarter:in
4.207 Beiträge seit 2003
vor 20 Jahren

Wenn Du alle Member einer Gruppe abfragst, erhältst Du als Ergebnis ein oder mehrere Member, deswegen empfiehlt Microsoft, diese Methode in die MemberDALC zu packen ... was man aber mit Methoden ohne Rückgabewert macht, bleibt offen ...

Du hast aber natürlich recht, man könnte einfach auch alles in eine DALC packen, bin halt von den EJB's her das noch so anders gewöhnt ...

Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden

www.goloroden.de
www.des-eisbaeren-blog.de

C
980 Beiträge seit 2003
vor 20 Jahren

Du kriegst Member zurück, also sind auch die das Subjekt. Auch wenn du Members zu einer Gruppe hinzufügen willst sind Member das subjekt, also würde ich es in die MemberDALC packen. Das mit dem Subjekt ist natürlich nur meine verallgemeinernde Interpretation des von dir zitierten Satzes des MS Papers. Naja, ist halt recht schwammig (= viele Freiheiten) 😉

Ich kenne mich mit J2EE überhaupt nicht aus, gibt's da gute Quellen für einen Schnelleinstieg (Konzepte Überblick, nicht Details...)?

Golo Roden Themenstarter:in
4.207 Beiträge seit 2003
vor 20 Jahren

Hm, nein, leider nicht wirklich ... in der Sun-Doku steht zwar alles drin, die ist aber dafür mega unübersichtlich 😦

Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden

www.goloroden.de
www.des-eisbaeren-blog.de

C
980 Beiträge seit 2003
vor 20 Jahren

werds mir trotzdem mal anschauen, thnx..