【发布时间】:2013-02-08 07:55:05
【问题描述】:
根据我的经验,这是我看到使用弹簧控制器的方式: 定义一个弹簧控制器,它将某种类型的值返回给表示层。 控制器请求映射方法调用服务层。服务层本身由接口和实现组成。服务接口始终只包含一种方法,因此它并不是真正的多态,因为它始终保持“一种形式”。服务实现可以访问某种类型的数据,可能来自 DAO 并将其返回给控制器。控制器可能会在将其返回到表示层之前稍微修改此数据。
在这种情况下,拥有接口的意义何在?我从来没有遇到过从多个控制器调用的spring服务实现,那为什么是接口呢?
使用辅助控制器类执行服务实现的操作不是更有意义吗?
【问题讨论】:
-
服务的接口不是必须的。有些人使用它们是为了能够编写服务的单元测试实现。
-
这是由于Abstract Factory 设计模式。也许在您的系统中,您只对服务接口使用一个实现,但您确实可以拥有多个服务实现(取决于需求和应用程序设计)。
标签: java spring model-view-controller