新的Microsoft asp.net mvc实现如何处理应用程序的分区 - 例如:
--index.aspx
--about.aspx
--contact.aspx
--/feature1
--/feature1/subfeature/action
--/feature2/subfeature/action
Run Code Online (Sandbox Code Playgroud)
我想我想说的是,似乎所有内容都必须进入视图/控制器文件夹的根目录,在处理项目时可能会变得笨拙,如果使用Web表单构建可能有很多很多文件夹和子文件用于分区应用程序的文件夹
我认为我得到了MVC模型,我喜欢它与Web表单相比的外观,但仍然让我了解如何在实践中构建一个大型项目.
我对视图的组织方式感到困惑,因为ASP.NET MVC使用约定来使一切正常工作,所以理解这一点非常重要.
在views目录下,有子目录.这些子目录中有视图.我假设子目录映射到控制器,控制器作用于其子目录中包含的视图.
是否出现了对这些目录中包含哪些类型的视图的期望?例如,每个目录的默认页面应该是index.aspx吗?页面是否应遵循命名约定,如Create [controller] .aspx,List [controller] .aspx等?或者没关系?
通常,MVC frameeworks的结构类似于:
/models
/views
/controllers
/utils
Run Code Online (Sandbox Code Playgroud)
但是,在Web应用程序套件中,我决定将所有模型,视图和控制器聚集在一起可能不是最好的清晰度,除非我将系统视为一个应用程序而不是应用程序套件.但是,有些东西将每个"应用程序"联系在一起,比如用户和用户角色的概念.
所以我有三种可能的解决方案:
(1)执行我不想做的事情,并将每个模型,视图和控制器放在一起,无论它属于哪个应用程序.这将套件视为单个应用程序,因为它们由几个常见线程(包括用户)捆绑在一起.
(2)按申请分组代码.
/app1
/models
/views
/controllers
/utils
/app2
/models
/views
/controllers
/utils
Run Code Online (Sandbox Code Playgroud)
(3)按类型对代码进行分组,让实用程序代码在所有应用程序之间共享.
/models
/app1
/app2
/views
/app1
/app2
/controllers
/app1
/app2
/utils
Run Code Online (Sandbox Code Playgroud)
我错过了一个选项吗?未来开发人员最合乎逻辑的方案是什么?我个人更喜欢2和3,但也许大多数人会期望1.
在asp/net MVC中,项目分为模型,视图和控制器.好到目前为止.
假设我有一个类'人',人控制器使用人模型填充数据.
把我的person.cs课最好放在哪里?在控制器或模型文件夹中?你是做什么?
谢谢
坦率