C#----設計模式介面 工廠模式的理解
針對介面程式設計能幫助達到物件導向開發和設計中"低耦合"的要求.
舉個例子:某公司有一臺特殊印表機,還可以使用一年,一年後可能換為另一種印表機,這兩種印表機都特殊而貴.所以現在的程式希望換了印表機後也少量修改就可用.
方法:
1,定義一個印表機介面.
2,定義印表機類A,B,分別實現此介面.
3,定義一個工廠類,在類中可選擇返回由A實現的介面,或者由B實現的介面.
4,在程式中使用印表機時,就可以使用工廠類來呼叫印表機,而不需要知道具體的是什麼印表機.
如果印表機換了,只需要修改工廠類就行了.如果有一千個地方都呼叫過印表機,就不需要一個一個修改.修改一個地方就行了.介面充當一個隔離層的作用.
在物件導向的設計中,介面的作用非常重要,
//定義印表機介面
interface Iprint...{
bool PrintData(string data);
}
//定義印表機類A,實現介面
class PrintA:Iprint...{
public virtual bool PrintData(string data)...{
//具體業務邏輯略
}
}
定義印表機類B,實現介面
class PrintB:Iprint...{
public virtual bool PrintData(string data)...{
//具體業務邏輯略
}
}
//定義工廠類
class PrintFactory...{
public Iprint CreatePrint()...{
//返回一個由打機類A,或B實現的介面,比如
return new PrintA();
}
}
//通過工廠類,呼叫印表機
private void button1_Click(object sender,EventArgs e)...{
PrintFactory myFactory=new PrintFactory();
Iprint myPrint=myFactory.CreatePrint();
myPrint.PrintData("這樣做很方便啊");
}
舉個例子:某公司有一臺特殊印表機,還可以使用一年,一年後可能換為另一種印表機,這兩種印表機都特殊而貴.所以現在的程式希望換了印表機後也少量修改就可用.
方法:
1,定義一個印表機介面.
2,定義印表機類A,B,分別實現此介面.
3,定義一個工廠類,在類中可選擇返回由A實現的介面,或者由B實現的介面.
4,在程式中使用印表機時,就可以使用工廠類來呼叫印表機,而不需要知道具體的是什麼印表機.
如果印表機換了,只需要修改工廠類就行了.如果有一千個地方都呼叫過印表機,就不需要一個一個修改.修改一個地方就行了.介面充當一個隔離層的作用.
在物件導向的設計中,介面的作用非常重要,
//定義印表機介面
interface Iprint...{
bool PrintData(string data);
}
//定義印表機類A,實現介面
class PrintA:Iprint...{
public virtual bool PrintData(string data)...{
//具體業務邏輯略
}
}
定義印表機類B,實現介面
class PrintB:Iprint...{
public virtual bool PrintData(string data)...{
//具體業務邏輯略
}
}
//定義工廠類
class PrintFactory...{
public Iprint CreatePrint()...{
//返回一個由打機類A,或B實現的介面,比如
return new PrintA();
}
}
//通過工廠類,呼叫印表機
private void button1_Click(object sender,EventArgs e)...{
PrintFactory myFactory=new PrintFactory();
Iprint myPrint=myFactory.CreatePrint();
myPrint.PrintData("這樣做很方便啊");
}
相關文章
- JAVA設計模式 3【建立型】理解工廠模式與抽象工廠模式Java設計模式抽象
- 設計模式-工廠模式二(工廠方法模式)設計模式
- 設計模式-工廠方法模式的概述和使用-介面設計模式
- 【設計模式】工廠模式設計模式
- 設計模式 —— 工廠模式設計模式
- 設計模式-工廠模式設計模式
- 設計模式(工廠模式)設計模式
- 設計模式——工廠模式設計模式
- 設計模式----工廠模式設計模式
- 設計模式-簡單工廠、工廠方法模式、抽象工廠模式設計模式抽象
- 設計模式----工廠設計模式設計模式
- 設計模式-工廠設計模式設計模式
- 設計模式之工廠方法模式|抽象工廠模式設計模式抽象
- C# 設計模式(1)——簡單工廠模式、工廠模式、抽象工廠模式C#設計模式抽象
- 設計模式之工廠模式!深入解析簡單工廠模式,工廠方法模式和抽象工廠模式設計模式抽象
- 設計模式-簡單工廠模式概述和使用-介面設計模式
- 設計模式學習(二)工廠模式——抽象工廠模式設計模式抽象
- 設計模式——抽象工廠模式設計模式抽象
- 設計模式 —— 抽象工廠模式設計模式抽象
- PHP設計模式-- 工廠模式PHP設計模式
- 設計模式-抽象工廠模式設計模式抽象
- Java設計模式(工廠模式)Java設計模式
- Java設計模式--工廠模式Java設計模式
- Java 設計模式(工廠模式)Java設計模式
- java設計模式-工廠模式Java設計模式
- 設計模式 - 工廠方法模式設計模式
- 設計模式之工廠模式設計模式
- java設計模式 – 工廠模式Java設計模式
- 設計模式 #2 (工廠模式)設計模式
- 設計模式之【工廠模式】設計模式
- 設計模式-工廠方法模式設計模式
- 設計模式~~~工廠方法模式設計模式
- PHP設計模式_工廠模式PHP設計模式
- 設計模式——工廠方法模式設計模式
- 設計模式(四)工廠模式設計模式
- Java設計模式:工廠模式Java設計模式
- 設計模式(三)——工廠模式設計模式
- 【設計模式】工廠方法模式設計模式