【发布时间】:2015-04-25 22:06:40
【问题描述】:
在我们的项目架构中,我们使用经典的 MVC 模式,包括经典的服务层(打开事务并调用 DAO 层)。
对于每个服务,我们都有一个实现和他的接口。但老实说,我很确定对于一项服务和他的接口,我们永远不会有多个实现。所以好吧,也许在接口中声明公共方法有助于了解服务的功能更清楚,但是接口用于有多个实现,如果我们知道我们不会有多个实现,我们应该保留他们?
【问题讨论】:
标签: java model-view-controller
在我们的项目架构中,我们使用经典的 MVC 模式,包括经典的服务层(打开事务并调用 DAO 层)。
对于每个服务,我们都有一个实现和他的接口。但老实说,我很确定对于一项服务和他的接口,我们永远不会有多个实现。所以好吧,也许在接口中声明公共方法有助于了解服务的功能更清楚,但是接口用于有多个实现,如果我们知道我们不会有多个实现,我们应该保留他们?
【问题讨论】:
标签: java model-view-controller
我认为这是保留接口的好方法。
原因: 1.说你想用不同的实现来写同样的junit。尽管从数据库中获取数据,但您希望从单独的数据源中获取数据,那么不同的实现就足够了。
【讨论】:
实现一个接口可以让一个类变得更加正式 它承诺提供的行为。接口形成契约 在班级和外界之间,并且这个契约被强制执行 在编译器构建时。
如果您知道您将只有一个实现,则实现本身将定义合同,因此您可以删除接口。
但是编写接口可以帮助您更好地定义合同,而且您可能需要在给定的时间点为服务编写模拟,在这种情况下,您将从使用接口中受益。
【讨论】: