【问题标题】:ASP.NET MVC folder structure for E-Commerce project电子商务项目的 ASP.NET MVC 文件夹结构
【发布时间】:2010-11-28 10:48:18
【问题描述】:

我对我的项目的文件夹结构以及在 Controller 中对它们进行分组有点困惑。项目是电子商务。我有类似的页面

首页、关于、联系方式、类别菜单和子类别列表页面、ProductList、ProductDetail、ShoppingCart、CartSummary、Checkout

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

管理员 产品管理(插入、更新、删除、上传图片、添加描述等)、分类管理、订单管理等

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

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    我的建议:

    • 家庭控制器:
      • 首页(索引操作)
      • 关于
      • 联系方式
    • 类别控制器:
      • 类别(索引操作 - 子类别作为类别操作的参数)
    • 产品控制器:
      • 列表(您可以将 productlist-html 作为用户控件与类别操作共享),
      • 详情
    • 购物车控制器:
      • ShoppingCart(索引操作)
      • 结帐
      • 付款
      • ...
    • 用户控制器:
      • 索引(显示可能的选项:编辑和订单)
      • 编辑
      • 订单
    • 管理员(为此创建一个单独的区域,因为您需要多个控制器来管理您的站点)
      • 用户控制器
      • 订单控制器
      • 产品控制器
      • 设置控制器
      • 邮件控制器
      • ...

    【讨论】:

      【解决方案2】:

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

      创建一个单独的共享文件夹,其中包含整个网站的通用内容,例如母版页、jQuery 文件等。

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 2014-06-30
          • 1970-01-01
          • 2011-11-09
          • 2012-03-28
          • 1970-01-01
          • 1970-01-01
          • 2011-09-21
          • 2012-03-02
          • 1970-01-01
          相关资源
          最近更新 更多