【发布时间】:2016-08-02 22:58:39
【问题描述】:
我正在开发一个使用 ASP.NET MVC、Web API 和 Angular JS 的项目。
我正在考虑将项目结构从经典 MVC(相同类型的文件夹包装文件 - 控制器等)更改为功能文件夹:
所以这些文件夹可以描述如下:
- 资产:图像、字体……
- 功能:功能列表(博客、主页、共享...)
共享所有功能的通用文件;一个特征可能包含:
A) Angular 控制器和服务;
B) ASP.MVC 控制器、模型、模型验证器; C) 特性中使用的特定 CSS 样式。 - Handlers:处理消息(命令等)的服务层处理器;
- 助手:基础设施文件;
- 消息:服务层消息(命令等);
- 脚本:供应商脚本(Angular、Jquery 等);
- 样式:全局样式(reset.css 等);
问题
-
在博客功能上,我将显示一个帖子列表。 BlogController 调用 PostService(?) 从 API 获取帖子? 每个返回的帖子都有一个标题、一个正文和要显示的标签。
在主页上,我显示最近的帖子,但只显示标题。 那么 HomeController 在 Post 特性中调用 HomeService 还是 PostService 呢?
想象一下在博客功能上我正在编辑一篇新帖子。 在博客控制器中,我调用 PostService 来获取该帖子。 但我需要用标签填写一个选择列表。 所以我在博客功能中需要一个 TagsService 和一个 TagsController 吗?
这两个问题可能看起来很奇怪,但它们帮助我解决了我对这种组织应用程序的许多疑问。
有什么建议吗?
【问题讨论】:
标签: asp.net-mvc angularjs asp.net-web-api