2013-02-17 51 views
2

我试图学习一些最佳实践,同时加强了MVC4。我有三个项目的解决方案:为MVC4应用程序创建服务层,同时履行单一责任

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

现在我想补充:

4:服务:业务逻辑

这将需要逻辑,诸如从我的控制器“GetFilteredItems()”和放置m转换成一个Service项目,该项目取决于Core,并依赖于Web。当我开始这样做时,我想尊重单一职责,并为每个方法创建一个类。我的问题:

1)这是一个好办法?
2)说我需要一个GetFilteredItems方法,它需要一个ID并返回一个List。在命名类和方法方面,这里的约定是什么?我不能有一个带有SampleClass()方法的SampleClass类,它会返回一些东西,对吧?

+0

这些都是很好的问题,但这不是适合他们的论坛。如果你想得到很好的答案,我建议你在http://programmers.stackexchange.com/上发布 – 2013-02-17 20:37:43

回答

0

是的,这似乎是一个好办法,虽然单一职责原则并不一定意味着你需要创建每个方法单独的类。

只要确保你的服务类有一个单一的责任。

为了您GetFilteredItems方法,你可以创建一个名为ItemService遏制此类。 此服务还将包含用于返回项目集合的任何其他方法。

你可以再放入属于不同的服务项目坚持的方法,等等...

1

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

单一职责不需要单一方法的类。我从来没有听说过这种方法。在哪里讨论这种方法及其好处?