【问题标题】:Where to store custom classes in ASP.NET MVC?在 ASP.NET MVC 中的哪里存储自定义类?
【发布时间】:2010-09-18 10:36:26
【问题描述】:

有点傻的问题,但是如果我想创建一个不是控制器或模型的自定义类,我应该把它放在哪里。在 WebForms 中,我将所有类都存储在 App_Code 文件夹中,但似乎类没有存储在 MVC 中。

这有关系吗?

【问题讨论】:

标签: c# asp.net-mvc


【解决方案1】:

有很多选择。有些人只是在 ASP.NET MVC 项目中创建新文件夹。其他人(包括我自己)创建了全新的项目。

我比较满意的一种方法是按目的分解您的项目...

  • MyApp.Core
  • MyApp.Infrastructure
  • MyApp.UI.Web
  • MyApp.Tests

我也看过这些……

  • MyApp.ApplicationServices
  • MyApp.UI.Controllers

我建议看看开源世界中的所有各种 ASP.NET MVC 项目,看看他们如何安排他们的项目(Code Camp Server、Store Front、Sharp Architecture、Nerd Dinner 2 和大量其他)。我认为它将为您打开一个充满新可能性的世界(控制反转、存储库模式等)。也就是说,它具有挑战性,我会将其等同于蓝色药丸/红色药丸场景。

编辑:回答您的其他问题...

我会说这很重要,但只是在将所有内容分解成层有助于实现松散耦合的意义上。如果您将所有内容都放在一个项目中,您会很想模糊演示、业务和数据库之间的界限。但是,如果您将所有内容拆分并了解您的项目引用,那么缺乏耦合将更加明显,您将更有可能实现关注点分离 (SoC)。 SoC 为单元测试和更轻松的维护打开了大门。

【讨论】:

  • SoC != 物理文件位置
  • 物理文件位置有利于 SoC
猜你喜欢
  • 1970-01-01
  • 2016-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多