2012-05-25 118 views
1

可能是一個普遍的問題,但它被認爲是不好的做法,有一個接口(服務),以及它的實現(ServiceImpl),但與ServiceImpl私人實用方法那不包含在界面中?接口最佳實踐

回答

9

不錯的練習 - 我期望幾乎任何非平凡的具體實現類包含私有方法。另一種選擇通常是在課堂上有太多太大的方法體。

別忘了,沒有人以外這個班應該關心你是否有很多私人方法。他們應該只關心你的公共API(或你的包/受保護的API)。

5

根本沒有,完全是你應該做的。

5

接口的原因是你定義了一個契約,你的實現可以有任意數量的私有方法來使契約工作。

這不會被認爲是不好的做法,添加到您的實現類也可以提供公共方法。

如果不是使用接口提供的API工作,那麼使用實現類的公共方法在一般說明中肯定是不好的做法,儘管有時會出現無法避免的情況。

5

不,這很好。你的服務界面只是列出了它想要展示給世界的東西。它如何實施取決於你。如果使用這些私有實用程序方法來實現接口,那就沒問題。