界面最佳实践

时间:2012-05-25 18:18:40

标签: java interface implementation

可能是一个普遍的问题,但是拥有一个界面(服务)及其实现( ServiceImpl )被认为是一种不好的做法,但是 ServiceImpl 包含接口中未包含的私有实用程序方法?

4 个答案:

答案 0 :(得分:9)

一点都不差 - 我希望几乎任何非平凡的具体实现类都包含私有方法。替代方案往往是在课堂上有太多的方法体。

不要忘记,除了,无论你是否有很多私人方法,班级都应该关心。他们应该只关心您的公共API(或相关的包/受保护的API)。

答案 1 :(得分:5)

不,根本不应该,你应该做什么。

答案 2 :(得分:5)

接口的原因是您定义了一个合同,您的实现可以使用任意数量的私有方法来使该合同正常工作。

这绝不是一种被认为是不好的做法,添加它你的实现类也可以提供公共方法。

如果不是使用接口提供的API,而是使用实现类的公共方法,这在一般情况下绝对是一种不好的做法,尽管有时会出现无法避免的情况。

答案 3 :(得分:5)

不,那没关系。您的服务界面只列出了它想要向世界公开的内容。它是如何实现的取决于你。如果使用这些私有实用程序方法来实现接口,那么你没问题。