可能是一个普遍的问题,但是拥有一个接口(Service)和它的实现(ServiceImpl)被认为是一种不好的做法,但是ServiceImpl包含接口中不包含的私有实用程序方法?
问问题
1018 次
4 回答
9
一点也不坏的做法——我希望几乎所有重要的具体实现类都包含私有方法。替代方法通常是在类中拥有太大的方法体。
不要忘记,课堂外的任何人都不应该关心你是否有很多私有方法。他们应该只关心您的公共 API(或相关的包/受保护的 API)。
于 2012-05-25T18:20:11.877 回答
5
不,一点也不,正是你应该做的。
于 2012-05-25T18:20:31.813 回答
5
接口的原因是您定义了一个合同,您的实现可以有任意数量的私有方法来使该合同工作。
这绝不被认为是不好的做法,添加到它你的实现类也可以提供公共方法。
如果您不使用接口提供的 API,而是使用实现类的公共方法,这在一般情况下绝对是一种不好的做法,尽管有时无法避免这种情况。
于 2012-05-25T18:20:43.827 回答
5
不,没关系。您的 Service 接口只列出了它想要向世界公开的内容。如何实施取决于您。如果使用这些私有实用程序方法来实现接口,那就没问题了。
于 2012-05-25T18:20:46.353 回答