2010-11-26 3 views
2

Ich arbeite derzeit an Inventory-Projekt auf Windows Form, und ich möchte drei-Tier-Architektur darin implementieren. Ich würde gerne wissen, wie viele Klassen ich in Business Layer und Data Access Layer erstellen sollte.3-Tier-Architektur in Windows Form

Was ist, wenn später die Arbeit an meinem Projekt zunimmt? Sollte ich mich an einzelne lange codierte Business-Layer und Data-Access-Layer halten oder sollte ich mehrere Klassen innerhalb der Business-Layer und Data-Access-Layer erstellen?

Antwort

2

Im Allgemeinen modellieren Substantive in Ihren Anforderungen in Klassen in Ihrer Anwendung. Es kann andere Ursachen für die Erstellung von Klassen geben, wie Helfer und Wrapper und Funktionen, die mehrere Werte zurückgeben.

Wenn Sie beim Entwerfen unerfahren sind, nehmen Sie bitte die Hilfe von einem erfahrenen Kerl.

Viel Glück mit Ihrem Projekt.

+0

+1 @SauDard - Die Art Ihrer Frage legt nahe, dass Sie zuerst einige grundlegende OO-Prinzipien lesen müssen. Sehen Sie sich das Prinzip "one responsibility" an und fragen Sie nach mehr erfahrener Designhilfe, wenn Sie Sie führen können. – Paolo

2

Gemäß Srinivas würde im Allgemeinen jede Tabelle oder logische Gruppierung von Tabellen durch eine separate DAL- und BLL-Klasse repräsentiert.

Wenn Sie ein ORM verwenden, haben Sie zusätzlich zu Ihren Layern auch Entitätsklassen für jedes Element.

Wenn Ihr Projekt sehr umfangreich wird, erfolgt die nächste Trennung normalerweise in Richtung Namespaces, entweder mit Unterordnern im selben Projekt oder bei der Aufteilung jedes Geschäftsbereichs in eine separate Assembly.

1

Mein Ansatz:

  1. Datenbank (in der Regel SQL Server 2008 oder Express Edition)
  2. Windows-Dienst (WCF Belichtungs EF 4 orm, komplexe Datenvalidierungen, Arbeitsabläufe, Business-Logik)
  3. Windows- Client (ruft der Client Wcf-Proxy, minimale Datenvalidierung WCF)

PS: die Business-Logik in einer einzigen Klasse implementiert wird, mit partial class den Code in Sever aufzuspalten al cs Dateien.