代码之家  ›  专栏  ›  技术社区  ›  antony.trupe

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

  •  0
  • antony.trupe  · 技术社区  · 16 年前

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

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

    还有其他选择吗,或者我是不是想错了?

    这是一个GWT/APP引擎项目。

    3 回复  |  直到 15 年前
        1
  •  1
  •   Community Mohan Dere    9 年前

    我不明白为什么你不能对servlet进行单元测试,例如 this SO question (还有其他类似的主题)--你能解释一下吗?

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

        2
  •  0
  •   Sentient    16 年前

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

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

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

    另一个注意事项:您可能需要研究MVC框架;struts。您的模型将包含业务逻辑。

    希望这有帮助。

        3
  •  0
  •   sgleser    15 年前

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

    推荐文章