| 導購 | 订阅 | 在线投稿
分享
 
 
 

一些面向對象的設計法則(2)

來源:互聯網  2008-05-31 11:18:30  評論

法則2:針對接口編程,而非(接口的)實現

[ PRogram To An Interface, Not An Implementation ]

接口

1.接口是一個對象在對其它的對象進行調用時所知道的方法集合。

2.一個對象可以有多個接口(實際上,接口是對象所有方法的一個子集)

3.類型是對象的一個特定的接口。

4.不同的對象可以具有相同的類型,而且一個對象可以具有多個不同的類型。

5.一個對象僅能通過其接口才會被其它對象所了解。

6.某種意義上,接口是以一種非常局限的方式,將"是一種…"表達爲"一種支持該接口的…"。

7.接口是實現插件化(pluggability)的要害

實現繼續和接口繼續

1.實現繼續(類繼續):一個對象的實現是根據另一個對象的實現來定義的。

2.接口繼續(子類型化):描述了一個對象可在什麽時候被用來替代另一個對象。

3.C++的繼續機制既指類繼續,又指接口繼續。

4.C++通過繼續純虛類來實現接口繼續。

5.java對接口繼續具有單獨的語言構造方式-Java接口。

6.Java接口構造方式更加易于表達和實現那些專注于對象接口的設計。

接口的好處

1.優點:

a.Client不必知道其使用對象的具體所屬類。

b.一個對象可以很輕易地被(實現了相同接口的)的另一個對象所替換。

c.對象間的連接不必硬綁定(hardwire)到一個具體類的對象上,因此增加了靈活性。

e.松散藕合(loosens coupling)。

f.增加了重用的可能性。

e.提高了(對象)組合的機率,因爲被包含對象可以是任何實現了一個指定接口的類。

2.缺點:

a.設計的複雜性略有增加

(譯者注:接口表示"…像…"(LikeA)的關系,繼續表示"…是…"(IsA)的關系,組合表示"…有…"(HasA)的關系。)

接口實例


一些面向對象的設計法則(2)

一些面向對象的設計法則(2)

該方法是指其它的一些類可以進行交通工具的駕駛,而不必關心其實際上是(汽車,輪船,潛艇或是其它任何實現了IManeuverabre的對象)。

  法則2:針對接口編程,而非(接口的)實現      [ PRogram To An Interface, Not An Implementation ]                              接口               1.接口是一個對象在對其它的對象進行調用時所知道的方法集合。      2.一個對象可以有多個接口(實際上,接口是對象所有方法的一個子集)      3.類型是對象的一個特定的接口。      4.不同的對象可以具有相同的類型,而且一個對象可以具有多個不同的類型。      5.一個對象僅能通過其接口才會被其它對象所了解。      6.某種意義上,接口是以一種非常局限的方式,將"是一種…"表達爲"一種支持該接口的…"。      7.接口是實現插件化(pluggability)的要害                                 實現繼續和接口繼續                     1.實現繼續(類繼續):一個對象的實現是根據另一個對象的實現來定義的。      2.接口繼續(子類型化):描述了一個對象可在什麽時候被用來替代另一個對象。      3.C++的繼續機制既指類繼續,又指接口繼續。      4.C++通過繼續純虛類來實現接口繼續。      5.java對接口繼續具有單獨的語言構造方式-Java接口。      6.Java接口構造方式更加易于表達和實現那些專注于對象接口的設計。                                 接口的好處                     1.優點:      a.Client不必知道其使用對象的具體所屬類。      b.一個對象可以很輕易地被(實現了相同接口的)的另一個對象所替換。      c.對象間的連接不必硬綁定(hardwire)到一個具體類的對象上,因此增加了靈活性。      e.松散藕合(loosens coupling)。      f.增加了重用的可能性。      e.提高了(對象)組合的機率,因爲被包含對象可以是任何實現了一個指定接口的類。      2.缺點:      a.設計的複雜性略有增加      (譯者注:接口表示"…像…"(LikeA)的關系,繼續表示"…是…"(IsA)的關系,組合表示"…有…"(HasA)的關系。)         接口實例          [url=/bbs/detail_1758848.html][img]http://image.wangchao.net.cn/it/1323510351314.gif[/img][/url]   [url=/bbs/detail_1758848.html][img]http://image.wangchao.net.cn/it/1323510351392.gif[/img][/url]   該方法是指其它的一些類可以進行交通工具的駕駛,而不必關心其實際上是(汽車,輪船,潛艇或是其它任何實現了IManeuverabre的對象)。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有