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

3

我对项目的文件夹结构和控制器分组有些困惑。这个项目是一个电子商务网站,包括以下页面:

主页、关于我们、联系我们、分类菜单和子分类列表页面、产品列表、产品详情、购物车、购物车汇总、结账

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

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

我应该建立区域吗?如何创建干净的文件夹结构。

3个回答

5
我的建议:
  • HomeController:
    • 主页 (Index action)
    • 关于
    • 联系我们
  • CategoryController:
    • 分类 (Index action - 子类别作为分类操作的参数)
  • ProductController:
    • 列表 (你可以将产品列表HTML作为用户控件与分类操作共享),
    • 详情
  • CartController:
    • 购物车 (Index action)
    • 结账
    • 支付
    • ...
  • UserController:
    • 首页 (显示可能的选项:编辑和订单)
    • 编辑
    • 订单
  • 管理员 (创建一个单独的区域,因为您需要多个控制器来管理您的网站)
    • UsersController
    • OrdersController
    • ProductsController
    • SettingsController
    • MailingsController
    • ...

1

使用区域是前进的方向。尝试为您提到的每个大功能创建一个文件夹。并将所有相关内容整合到一个区域中,包括控制器、视图、CSS、JavaScript等。

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


1

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

此外,我建议在定义公共站点所需的所有对象/数据结构之前,先不要处理管理部分,否则您最终可能会更改模型对象并不得不在多个地方进行更新,但可能没有任何收益(因为它可能再次更改 :-))。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接