2017-09-23 6 views
2

インタフェース棲み分け原理インタフェース分掌原理とデフォルトメソッドを1として8

クライアントは

インターフェースの不要なメソッドを実装することを強制すべきではないと私たちは定義する必要があります インタフェースが論理的に分離しているようなインタフェース

しかし、Java 8で導入されたデフォルトのメソッドコンセプトは、Javaインターフェイスでのメソッドのデフォルト実装を提供する柔軟性を提供しました。

Java 8は、コアロジックに関連しないメソッドをいくつか持つようにインターフェイスを拡張する可能性を提供しているようですが、デフォルトまたは空の実装がいくつかあります。

分離の懸念に違反していませんか?思考?

答えて

1

良い質問です。間違いなく、インターフェイス分離の原則に違反しています。私は個人的にインターフェイスの設計の美しさと正確な多形性を損なうため、デフォルト実装の概念が嫌いです。誰かがISPのコンセプトを知らない場合、彼らはデザイン・ファット・インターフェースを開始し、1つのインターフェースにパックされたもののようになります。コード設計中、人々は論理的にも考えません。

これはコードの匂いに終わり、コンセプトを知らない人は悪いコードを書き始めます。私はデフォルトの実装が望ましくない機能であると信じています。

関連する問題