2009-06-16 13 views
1

Ich habe eine 3-Tier-.NET 2.0-App. Die Präsentationsebene verweist auf die mittlere Ebene. Die mittlere Schicht verweist auf die Datenbankebene. Aus irgendeinem Grund erscheinen die DLLs für die Datenschicht beim Kompilieren in der Bin der Präsentationsebene. Wie höre ich damit auf?Präsentationsschicht, die Datenschicht referenziert

Antwort

1

Der einzige Weg, dies zu stoppen, ist eine oder mehrere Ihrer Ebenen eine Service-Schicht (oder so ähnlich), um physisch Ihre Ebenen zu trennen.

Da Ihre separaten Schichten gegeneinander kompiliert wurden, müssen die Baugruppen vorhanden sein, damit die gesamte Anwendung ordnungsgemäß funktioniert. Wie stellen Sie sich vor, dass die Anwendung ohne alle Assemblies funktioniert?

1

Set Copy Local auf false in Referenzobjekte

+0

Dies wird nicht funktionieren, sobald Sie die Anwendung bereitstellen müssen. –

+2

Stimmt, aber er wollte nur wissen, wie man damit aufhört. – epitka

1

Es ist OK, kopiert zu werden, da es als Abhängigkeiten bekannt sind. Ihre mittlere Ebene ist abhängig von DataAccess und UI auf der mittleren Ebene. Sie müssen den Überblick behalten, um nicht auf den Datenzugriff von der Benutzeroberfläche aus zu verweisen.

0

Normalerweise mache ich Bitübertragungsschicht-Anwendung wie folgt:

  1. UI
  2. Presenter
  3. Businesslogic
  4. Data Access
  5. Entity

Aber ich meine Ansicht zu ändern auf diese Organisation. Da ich viele Projekte gemacht habe und einige von ihnen Wartung und Verbesserungen verlangen. Ich fange an zu denken, dass diese Organisation zu monolithisch ist. Einige Autoren wie Ted Faison, Tomas Erl, Robert C. Martin, Andy Tante sagt, dass dieser hierarchische Ansatz etwas naiv ist.

Wie auch immer ... Setzen Sie Ihre Logik in getrennte Projekte und bauen Sie sie als separate Assemblies. Machen Sie hierarchische Referenzen und Sie werden haben, was Sie wollen.

Verwandte Themen