2010-11-28 6 views
3

Ich bin etwas verwirrt über die Ordnerstruktur für mein Projekt und gruppiert sie in Controller. Projekt ist E-Commerce. Ich habe Seiten wieASP.NET MVC Ordnerstruktur für E-Commerce-Projekt

Startseite, über, Kontakt, Menü Kategorie und Unterkategorie Listenseite Produktliste, Product, ShoppingCart, CartSummary, Check-out

Benutzerverwaltung Profil bearbeiten, Aufträge, Login-Daten-Management.

Admin Produktmanagement (Einfügen, Aktualisieren, Löschen, Bilder hochladen, Hinzufügen Beschreibung usw.), Category Management, Order Management usw.

Soll ich Bereiche machen ?. Wie man saubere Ordnerstruktur bildet.

Antwort

4

Mein Vorschlag:

  • Homecontroller:
    • Startseite (Index Aktion)
    • Über
    • Kontakt
  • CategoryController:
    • Kategorie (Index Aktion - subc ategorie als Parameter der Kategorie Aktion)
  • Product:
    • List (Sie können die Produktliste-html teilen als Usercontrol mit der Kategorie Aktionen),
    • Details
  • CartController :
    • ShoppingCart (Index Aktion)
    • Kasse
    • Zahlung
    • ...
  • Usercontroller:
    • Index (zeigen die möglichen Optionen: Bearbeiten und Bestellungen)
    • bearbeiten
    • Orders
  • Admin (Create a separater Bereich dafür, da Sie mehrere Controller benötigen, um Ihre Site zu verwalten)
    • Userscontroller
    • Orders
    • Products
    • SettingsController
    • MailingsController
    • ...
1

Bereiche ist der Weg nach vorn. Versuchen Sie, Ordner für jedes große Feature zu erstellen, das Sie erwähnt haben. Und alles konsolidieren, um es in einem Bereich im Zusammenhang mit Reglern, Ansichten, CSS, Javascript usw.

Machen Sie einen separaten Ordner Shared die die Sachen gemeinsam über die gesamte Website zB Masterseiten, jQuery-Dateien usw.

1
enthalten würde

Ich würde vorschlagen, dass das Lösungs-Layout von ZippyV ein guter Ausgangspunkt für die Lösung ist. Je nachdem, wie Sie IoC- und Komponententests verwenden möchten, würde ich möglicherweise versuchen, die Controller (und möglicherweise das Modell) in ein separates Projekt aufzuteilen, um Unit-Tests zu unterstützen.

Außerdem würde ich den Admin-Bereich verlassen, bis Sie alle Objekte/Datenstrukturen definiert haben, die Sie für die öffentliche Site benötigen. Andernfalls ändern Sie ein Modellobjekt und müssen es an mehreren Stellen aktualisieren möglicherweise kein Gewinn (wie es sich wieder ändern könnte :-)).