針對介面程式設計能幫助達到物件導向開發和設計中"低耦合"的要求.
舉個例子:某公司有一台特殊印表機,還可以使用一年,一年後可能換為另一種印表機,這兩種印表機都特殊而貴.所以現在的程式希望換了印表機後也少量修改就可用.
方法:
1,定義乙個印表機介面.
2,定義印表機類a,b,分別實現此介面.
3,定義乙個工廠類,在類中可選擇返回由a實現的介面,或者由b實現的介面.
4,在程式中使用印表機時,就可以使用工廠類來呼叫印表機,而不需要知道具體的是什麼印表機.
如果印表機換了,只需要修改工廠類就行了.如果有一千個地方都呼叫過印表機,就不需要乙個乙個修改.修改乙個地方就行了.介面充當乙個隔離層的作用.
在物件導向的設計中,介面的作用非常重要,
//定義印表機介面
inte***ce iprint...
//定義印表機類a,實現介面
class printa:iprint...
} 定義印表機類b,實現介面
class printb:iprint...
} //定義工廠類
class printfactory...
} //通過工廠類,呼叫印表機
private void button1_click(object sender,eventargs e)...
所以使用介面,最好建立工廠
介面與工廠(設計模式)
介面是實現多重繼承的途徑,而生成遵循某個介面物件的經典方式就是工廠方法設計模式。這種方式與直接呼叫建構函式的不同,我們在工廠物件呼叫的是建立方法,該工廠的方法將生成介面的某個實現類的物件。理論上,通過這種方式,我們的 將完全與介面的實現分離,這就使得我們可以透明地將某個實現替換為另乙個實現。下面我們...
介面和工廠
介面和工廠 建立兩個介面 乙個介面內返回另乙個介面型別的方法 類似於組合 inte ce cycle inte ce cyclefactory class cycle1 implements cycle class cyclefactory1 implements cyclefactory clas...
Spring工廠介面
1.beanfactory 介面 和 介面區別 介面,spring 核心工廠是 beanfactory beanfactory 採取延遲載入,第一次 getbean 時才會初始化 是會在載入配置檔案時初始化 bean beanfactory 擴充套件 國際化處理 事件傳遞 bean自動裝配 各種不同...