JAVA的設計原則

JAVA的設計原則

 

 

1.    接口隔離原則(ISPInterface Segregation Principle

定義:使用多個專門的比使用單一的總接口要好。也可以說:建立單一接口,不要建立臃腫龐大的接口。

ISP的兩種定義:

Clients should not be forced to depend upon interfaces that they don't use

客戶端不應該依賴它不需用的接口。

The dependency of one class to another one should depend on the smallest possible interface

一個類對另外一個類的依賴性應當是建立在最小的接口上的。(從客戶端)

接口與角色:將接口理解爲一個類所提供的所有方法的特徵集合。如此,接口的劃分,就帶來了類型的劃分。所以一個接口應該只表示一種角色,而不是擔任多個角色。

 

接口污染Interface Contamination):所謂接口污染就是爲接口添加了不必要的職責。接口污染會帶來維護和重用方面的問題,最常見的問題是我們爲了重用被污染的接口,被迫實現並維護不必要的方法。因此,我們必須分離客戶程序,分離客戶程序就是分離接口。

 

分離接口的實現方法

分離接口的方式一般分爲兩種:

1) 使用委託分離接口。(Separation through Delegation

就把請求委託給別的接口的實現類來完成需要的職責,就是適配器模式(Adapter)

2) 使用多重繼承分離接口。(Separation through Multiple Inheritance。)

該方法通過實現多個接口來完成需要的職責。

兩種方式各有優缺點,通常我們應該先考慮後一個方案,如果涉及到類型轉換時則選擇前一個方案。

 

 

 

 

發佈了26 篇原創文章 · 獲贊 37 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章