C 介面與工廠

2021-05-07 12:55:25 字數 761 閱讀 5006

針對介面程式設計能幫助達到物件導向開發和設計中"低耦合"的要求.  

舉個例子:某公司有一台特殊印表機,還可以使用一年,一年後可能換為另一種印表機,這兩種印表機都特殊而貴.所以現在的程式希望換了印表機後也少量修改就可用.  

方法:  

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自動裝配 各種不同...