Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 业务逻辑属于服务层吗?_Google App Engine_Gwt_Business Logic - Fatal编程技术网

Google app engine 业务逻辑属于服务层吗?

Google app engine 业务逻辑属于服务层吗?,google-app-engine,gwt,business-logic,Google App Engine,Gwt,Business Logic,我有一组类,即数据传输对象、服务实现对象和数据访问对象。我目前在服务实现对象中有业务逻辑;它使用dao获取数据来填充dto,dto将被发送回客户机/gui代码 问题是我无法创建服务实现对象(它是一个servlet)的轻量级junit测试;我认为业务逻辑应该在别处,但我唯一能想到的是将业务逻辑放在dao中,或者放在dao和服务实现之间的另一层 还有其他选择吗,还是我想的不对 这是一个GWT/AppEngine项目。我不明白为什么不能对servlet进行单元测试,例如,按照(还有其他类似主题的项目)

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

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

还有其他选择吗,还是我想的不对


这是一个GWT/AppEngine项目。

我不明白为什么不能对servlet进行单元测试,例如,按照(还有其他类似主题的项目)——您能解释一下吗


编辑:如果没有特殊原因,我建议您应该在服务层(它似乎属于的地方)中测试业务逻辑,并在那里进行单元测试——例如,我刚才引用的SO问题中建议的方法似乎相当轻量级(尽管我没有专门测试它们).

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

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

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

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


希望这有帮助

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

好的,那么我认为您应该将业务逻辑放在服务层中,并在那里进行单元测试——我引用的问题中建议的方法似乎足够轻量级(尽管我没有具体测试)。因为它是一个控制器!!