Laden...

Schichtenmodell - Ringabhängigkeiten. Was nun?

Erstellt von Bubblegum vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.939 Views
B
Bubblegum Themenstarter:in
66 Beiträge seit 2008
vor 13 Jahren
Schichtenmodell - Ringabhängigkeiten. Was nun?

Also ich habe ein 3 Schichtenmodell und 3 entsprechende Assemblies.

  1. Assembly - Datenbankzugriffe im Folgenden DA genannt
  2. Assembly - Entities im Folgenden BO
  3. Assembly - Präsentation (nicht teil es Problems)

Im Assembly DA habe ich einen Verweis auf BO, da ich ja die Entities laden und speichern muss.

Im BO habe ich neben den Eigenschaften, die in der Datenbank abgelegt sind, auch Eigenschaften die ich durch Methoden ermittele. Diese Methoden sind, da ich dafür Datenbankzugriffe mache, in DA abgelegt. Wenn ich aber einen Vereis von DA in BO hinzufügen möchte, gibt die Fehlermeldungen bzgl. der Ringabhängigkeiten. Was mache ich falsch?

F
10.010 Beiträge seit 2004
vor 13 Jahren

Dein DAL ist nicht wirklich ein DAL, wenn er die Internas der BO benötigt.

B
Bubblegum Themenstarter:in
66 Beiträge seit 2008
vor 13 Jahren

Dein DAL ist nicht wirklich ein DAL, wenn er die Internas der BO benötigt.

Ich muss doch die Eigenschaften der BO per ADO.net im DA zuweisen. Wie soll ich das denn sonst machen?

888 Beiträge seit 2007
vor 13 Jahren

Wie soll ich das denn sonst machen?

Mach aus 3 Schichten --> 4 Schichten, schon haste das Problem nicht mehr.

BL (Buisiness Layer) & BO (Buisiness Objects)

BL hat dann einen Verweis auf DA, und BO kann jeder kennen, da BO sowieso nur stupid Objects enthält!

F
10.010 Beiträge seit 2004
vor 13 Jahren

@Bubblegum:
Entweder per Reflection, oder über ein Interface das deine BO implementieren.

Nur warum willst du einen ORMapper selber bauen?

1.002 Beiträge seit 2007
vor 13 Jahren

Hallo Bubblegum,

wie Joetempes schon geschrieben hat, ist es sinnvoll, einen Model-Layer einzuführen, der die verschiedenen Objekte der Domäne enthält enthält, die jeder kennen kann: Der Presentation Layer, der sie anzeigt, der Business Layer, der sie verarbeitet und der Data Access Layer, der sich um den Datenzugriff kümmert.

m0rius

Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg