2

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

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

我现在正在尝试添加:

4:服务:业务逻辑

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

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

4

2 回答 2

1

这里有一个关于在 MVC 中创建服务层的很好的讨论。

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

于 2013-02-18T14:52:26.947 回答
0

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

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

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

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

于 2013-02-18T14:33:12.950 回答