【问题标题】:Creating a Service Layer for MVC4 Applications while honoring Single Responsibility在尊重单一职责的同时为 MVC4 应用程序创建服务层
【发布时间】:2023-03-11 19:00:01
【问题描述】:

我正在尝试学习一些最佳实践,同时我正在学习 MVC4。我有一个包含三个项目的解决方案:

  1. Web:MVC 的东西
  2. 核心:数据模型
  3. 测试:测试类

我现在正在尝试添加:

4:服务:业务逻辑

这将从我的控制器中获取诸如“GetFilteredItems()”之类的逻辑,并将它们放入依赖于 Core 和 Web 的服务项目中。当我开始这样做时,我想履行单一职责并为每个方法创建一个类。我的问题:

1) 这是一个好方法吗?
2) 假设我需要一个获取 ID 并返回列表的 GetFilteredItems 方法。就命名类和方法而言,这里的约定是什么?我不能有一个带有返回某些东西的方法 SampleClass() 的类 SampleClass,对吗?

【问题讨论】:

  • 这些都是很好的问题,但这不是适合他们的论坛。如果您想要好的答案,我建议您将其发布到programmers.stackexchange.com

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


【解决方案1】:

creating a service layer in MVC here 上有很好的讨论。

单一职责不需要具有单一方法的类。我以前从未听说过这种方法。哪里有关于这种方法及其好处的讨论?

【讨论】:

    【解决方案2】:

    是的,这似乎是一个不错的方法,尽管单一职责原则并不一定意味着您需要为每个方法创建一个单独的类。

    只需确保您的服务类具有单一职责即可。

    对于您的 GetFilteredItems 方法,您可以创建一个名为 ItemService 的类来包含它。 该服务还包含用于返回项目集合的任何其他方法。

    然后您可以将与持久化项目相关的方法放在不同的服务中,等等...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-26
      • 1970-01-01
      • 2011-03-03
      • 2023-04-01
      • 2013-06-30
      • 2012-02-13
      • 1970-01-01
      • 2011-07-12
      相关资源
      最近更新 更多