2017-09-23 63 views
2

由於每接口分離原則接口隔離原則和默認方法的Java 8

客戶不應該被強迫實現一個接口的不必要的方法

,所以我們應該確定接口的方式使接口具有邏輯分離。

但是在Java 8中引入的默認方法概念提供了在Java接口中提供默認方法實現的靈活性。

看來Java 8已經提供了增強接口的可行性,以使某些方法與其核心邏輯無關,但具有一些默認或空的實現。

它不違反分離的擔憂嗎?思考?

回答

1

好問題。當然,它違反了界面分離原則,我個人不喜歡默認實現的概念,因爲它破壞了界面設計的美感,並且還帶有精確的多態性。如果有人不知道ISP的概念,那麼他們將開始設計胖界面,最終會像一切界面中的東西一樣。在代碼設計過程中,人們不會在邏輯上思考。

這將結束與代碼的氣味,我相信那些不知道這些概念的人將開始編寫錯誤的代碼。我相信默認實現是一個不需要的功能,因爲它會讓人們編寫臭味的代碼。