业务逻辑是否属于服务层?

时间:2010-03-17 02:18:13

标签: google-app-engine gwt business-logic

我有一组类,即数据传输对象,服务实现对象和数据访问对象。我目前在服务实现对象中有业务逻辑;它使用dao来获取数据以填充运回客户端/ gui代码的dto。

问题是我无法创建服务实现对象的轻量级junit测试(它是一个servlet);我认为业务逻辑应该在其他地方,但我唯一能想到的是将业务逻辑放在dao中或者在dao和服务实现之间的另一层中。

还有其他选择,还是我认为这是错误的方式?

这是一个GWT / App Engine项目。

3 个答案:

答案 0 :(得分:1)

我不明白为什么你不能对servlet进行单元测试,例如根据{{​​3}}(其他类似主题) - 你能解释一下吗?

编辑:如果没有特殊原因,我建议你应该在服务层(它似乎属于哪里)的业务逻辑中进行单元测试 - 在SO中建议的方法例如,我引用的问题似乎相当轻便(尽管我没有专门测试它们)。

答案 1 :(得分:0)

您可以将业务逻辑放在自己的jar文件中,并独立于与Web(servlet)的集成来测试此组件

servlet只是一个协议,它不是你的业务逻辑,更像是一个集成点。

通过胖客户端公开相同的业务逻辑一定很容易想象。 同样在这种情况下,您不应该隐藏按钮或链接下的业务逻辑。

还有一点需要注意:您可能希望了解MVC框架;支柱。您的模型将保留业务逻辑。

希望这会有所帮助。

答案 2 :(得分:0)

servlet是控制器,将业务逻辑放在那里是一个非常大的错误。