用于电子商务项目的ASP.NET MVC文件夹结构

时间:2010-11-28 10:48:19

标签: asp.net-mvc

我对项目的文件夹结构感到困惑,并将它们分组到Controller中。项目是电子商务。我有像

这样的页面

主页,关于,联系人,类别菜单和子类别列表页面,ProductList,ProductDetail,ShoppingCart,CartSummary,Checkout

用户管理 编辑个人资料,订单,登录信息管理。

管理 产品管理(插入,更新,删除,上传图像,添加说明等),类别管理,订单管理等。

我应该制作区域吗?如何制作干净的文件夹结构。

3 个答案:

答案 0 :(得分:4)

我的建议:

  • HomeController中:
    • 主页(指数行动)
    • 关于
    • 联系
  • CategoryController:
    • 类别(索引操作 - 子类别作为类别操作的参数)
  • ProductController的:
    • 列表(您可以将productlist-html作为带有类别操作的usercontrol共享),
    • 详细
  • CartController:
    • ShoppingCart(指数行动)
    • 结帐
    • 付款
    • ...
  • UserController中:
    • 索引(显示可能的选项:编辑和订单)
    • 修改
    • 订单
  • 管理员(为此创建一个单独的区域,因为您需要多个控制器来管理您的网站)
    • UsersController
    • OrdersController
    • 的ProductsController
    • SettingsController
    • MailingsController
    • ...

答案 1 :(得分:1)

领域是前进的方向。尝试为您提到的每个重要功能制作文件夹。并在一个区域内整合与其相关的所有内容,包括控制器,视图,CSS,javascript等。

制作一个单独的共享文件夹,其中包含整个网站中常见的内容,例如母版页,jQuery文件等。

答案 2 :(得分:1)

我建议ZippyV的解决方案布局是解决方案的一个很好的起点。根据您希望如何使用IoC和单元测试等,我可能会考虑将控制器(可能是模型)拆分成一个单独的项目来帮助进行单元测试。

除此之外,我将离开管理部分,直到您定义了公共站点所需的所有对象/数据结构,否则您将最终更改模型对象并且必须在多个位置更新为潜在的没有收获(因为它可能会再次改变: - ))。