2009-06-19 7 views
0

Ich entwickle ein kleines Projekt in ASP.NET MVC, um Fotos zu verwalten, aber ich kann meine Klassen in Namespaces nicht organisieren.Wie organisiere ich meinen Unterricht?

Ich habe 2 Basisklassen (Foto und Kategorie). Soll ich diese Klassen in welchen Namensraum stellen? Domain? POCO/POJO?

Für den Datenzugriff habe ich mehr 2 Klassen, PhotoDAO und CategoryDAO im DAO-Namespace. (Ist es richtig?)

Welchen Namespace sollte ich meine Business-Logik-Klassen und wie benennen sie?

Hat jemand einen Rat, welche Designmuster ich verwenden/studieren muss?

Es tut mir leid, so grundlegende Fragen zu stellen. Vielen Dank.

+1

Drei Punkte. (1) Der äußerste Namensraum sollte der Name Ihres Unternehmens sein; Es sollte etwas sein, das niemals mit dem Namespace eines anderen kollidiert. (2) Benennen Sie eine Klasse und einen Namensraum niemals gleich; Das macht beides sehr verwirrend und vereitelt den Zweck von Namespaces. (Wenn Sie eine Klasse in einen Namespace einfügen, weil sie mit einer anderen Klasse desselben Namens kollidiert ist, macht die Namensgebung diesen Namen noch schlimmer!) Und (3) holen Sie sich jetzt eine Kopie von Framework Design Guidelines; Es geht darum, Fragen wie diese zu beantworten. –

Antwort

2

Ich bin fest der Einfachheit/Refactor-wie-benötigt-Ansatz.

Bei diesem Ansatz fügen Sie einfach alle Ihre Klassen in einen Namensraum ein und lassen Ihren Code arbeiten. An jedem Punkt des Entwicklungszyklus beginnen Sie sich "überladen" zu fühlen. Denken Sie an die Klassen, die Sie haben, und teilen Sie sie logisch in einen oder zwei Namespaces auf, die Ihrer Meinung nach jeder Gruppe entsprechen.

Während Sie fortfahren, wiederholen Sie diesen Vorgang regelmäßig/nach Bedarf und wenn Ihre Gesamtanzahl an Dateien wächst, können Sie Ihre Ordner so strukturieren, dass sie Ihre Namespaces widerspiegeln.

Das mag zwar nicht für jeden der Fall sein, aber wenn Ihnen die Idee von "get-it-done" und "fine-tune" gefallen würde, würde ich diesen Ansatz empfehlen.

Aktualisiert:

Link zu MVC tutorials, die Ihnen eine Vorstellung davon, wie sie empfehlen Dinge getan werden.

+0

Das sagte; die ASP/MVC-Leute haben einige "Konventionen", die sie verwenden, die sehr hilfreich für Sie wären, wenn Sie folgen würden ... –

0

erwägen, Kategorie zu einem Enum (Foto kann eine Reihe von Kategorien haben). Betrachten Sie eine Albumklasse. erlaube ein Foto in vielen Alben zu sein. Verwende die mvc mini-Architektur. Sieh dir Picasa an.