從0自學C 09 抽象工廠模式例項

2021-07-10 13:41:07 字數 1670 閱讀 6868

1.適用環境

(主要是用在生產製造多種產品,軟體有多種**,多種資料庫等環境)

2.模式定義

3.模式結構

抽象工廠模式包含如下角色:

為了更清晰地理解工廠方法模式,需要先引入兩個概念:

流程介面

inte***ce iflow

class flowa : iflow

public idispensing createdispensing()

}class flowb : iflow

public idispensing createdispensing()

}

耦合介面

inte***ce irxalign

int fipulse

int romaxstep

double rorestarget

double txp

double resmin

double resmax

coordinate location

void loadpara(string pn);

void gohome();

void start();

void stop();

}class rxaligna : irxalign

public

bool

configpara()

catch

}public

void

gohome()

public

void

start()

public

void

stop()

...}

class rxalignb : irxalign

public

bool

configpara()

catch

}public

void

gohome()

public

void

start()

public

void

stop()

...}

點膠介面

inte***ce

idispensing

class

dispensinga : idispensing

class

dispensingb : idispensing

主線程呼叫

flow = new flowa();

align = flow.createrxalign();

align.loadpara(this.comboboxpn.text);

dispens = flow.createdispensing();

dispens.//code

...

[**]

[參考]

C 09 順序容器

include include include include include using std vector using std list using std deque using std string using std cin using std cout using std endl i...

C 09原型模式

原型模式 prototype 用原型例項指定建立物件的種類,並通過拷貝這些原型建立新的物件。原型模式的結構圖 prototype原型類,宣告乙個轉殖自身的介面 concreteprototype具體原型類,實現乙個轉殖自身的操作 client 讓乙個原型類物件轉殖自身 執行的是深拷貝 從而建立出乙個...

c09 虛繼承,析構,公約數

1.虛繼承,處理b,c繼承a,而d又繼承bc的問題 include using namespace std class a return a int gcb int a,int b 5.求絕對值 a 0?a a 6.父子類之間沒有過載,同名覆蓋 7.過載與返回型別無關 8.建立子類時,如果沒有在初始...