接口最佳实践



>可能是一个一般性问题,但是拥有一个接口(Service)和它的实现(ServiceImpl)被认为是一种不好的做法,但ServiceImpl包含接口中不包含的私有实用程序方法?

一点也不差 - 我希望几乎任何非平凡的具体实现类都包含私有方法。另一种选择通常是在类中具有太大的方法主体。

别忘了,班没有人应该关心你是否有很多私人方法。他们应该只关心您的公共 API(或相关的包/受保护的 API)。

不,

一点也不,正是你应该做的。

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

这绝不被认为是不好的做法,为了添加它,您的实现类还可以提供公共方法。

如果您不使用接口提供的 API,而是使用实现类的公共方法,这在非常普遍的注释中绝对是一种不好的做法,尽管有时在某些情况下无法避免。

不,这很好。您的服务界面只是列出它想要向世界公开的内容。如何实施取决于您。如果这些私有实用程序方法用于实现接口,则没问题。

最新更新