【问题标题】:How much controller per area is a lot每个区域有多少控制器很多
【发布时间】:2011-11-17 04:26:45
【问题描述】:

我的 ASP MVC 项目中有几个领域。一个区域有近 15 个控制器,每个控制器大约有 6-7 个动作。是不是很多?按控制器划分区域会更聪明吗?

好的,我需要提供更多信息: 我正在设计数据库和域模型库的项目中间。现在我在根控制器文件夹中有所有控制器的 asp mvc 项目。我现在尝试切换到区域,因为我是所有 asp mvc 世界和领域的新手,我不知道我是否选择了正确的区域和控制器。以下是我目前得到的简短列表:

Area: Authentication {AccountController, RegisterController, ForgotPasswordController}

Area: School {AboutController, ArticleController, EventController, GroupController, VoteController, QuestionController, GalleryController, TeachersController, CoursesController, NewsController, StatisticController, InformationBoardController etc.}

Area: SchoolLife {StatusFeedController, ProfileController, EventController, GroupController, VeoteController, QuestionsController, StatusBoxController, ImagesController, VideosController etc.}

Area: Admin {...}

【问题讨论】:

  • 视情况而定。向我们提供您的区域、控制器和操作的列表;那么我们可以说这些部门是否遵循 MVC 和 REST 的核心原则。

标签: asp.net-mvc asp.net-mvc-3


【解决方案1】:

每个控制器的区域没有多大意义。你的问题有点主观,很难客观地回答,但让我分享一下我的所作所为(当然这并不意味着它是正确的,这只是我喜欢的工作方式)。就我个人而言,我很少使用区域,更不用说从不使用。我更喜欢我的应用程序的 RESTful 组织,我在其中定义资源,并且对于每个资源,我都有一个控制器来定义对该资源的标准八种操作:

根据应用程序的大小和我正在处理的资源数量,我可以有很多控制器。

【讨论】:

  • @1110 可能没有基于资源的应用程序。此外,如果您仅按资源类型(如/MyResourceType/1/Delete)进行路由,那么为每个资源设置单独的控制器似乎是多余的。一个控制者可以统治他们!
  • @bzlm,是的,他确实可能没有基于资源的应用程序。而一个控制器统治所有这些规则让我感到害怕 :-) 我在代码审查中看到了这一点。这简直是​​一场噩梦。
  • 我用我的项目结构的一些信息更新了我的问题。可以看看吗?
  • @1110,您的组织看起来不错。如果 SchoolSchoolLife 封装同一个实体,它们可能会合并到同一个区域。也不要害怕增加你的控制器。这是一件好事。
  • 它们是完全不同的东西,这就是我将它们放在不同区域的原因。但是你给了我一些有价值的信息。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-24
  • 1970-01-01
  • 2021-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多