2017-09-23 91 views
2

由于每接口分离原则接口隔离原则和默认方法的Java 8

客户不应该被强迫实现一个接口的不必要的方法

,所以我们应该确定接口的方式使接口具有逻辑分离。

但是在Java 8中引入的默认方法概念提供了在Java接口中提供默认方法实现的灵活性。

看来Java 8已经提供了增强接口的可行性,以使某些方法与其核心逻辑无关,但具有一些默认或空的实现。

它不违反分离的担忧吗?思考?

回答

1

好问题。当然,它违反了界面分离原则,我个人不喜欢默认实现的概念,因为它破坏了界面设计的美感,并且还带有精确的多态性。如果有人不知道ISP的概念,那么他们将开始设计胖界面,最终会像一切界面中的东西一样。在代码设计过程中,人们不会在逻辑上思考。

这将结束与代码的气味,我相信那些不知道这些概念的人将开始编写错误的代码。我相信默认实现是一个不需要的功能,因为它会让人们编写臭味的代码。