15 大話設計模式C 實現之抽象工廠模式

2021-10-02 09:56:04 字數 1270 閱讀 2118

/*例項:不同客戶的資料庫管理採用不同的資料庫完成,不同的資料庫在語法上存在差異,因此需要

解除使用者和具體資料庫之間的耦合(即業務邏輯與資料訪問的解耦),避免向不同型別的客戶提供支援時的**復用

*/#include

#include

using namespace std;

//idepartment介面,用於客戶端訪問,解除與具體資料庫的訪問的耦合

class idepartment

;//sqlseverdepartment類,用於訪問sql sever的department

class sqlserverdepartment : public idepartment

idepartment* getdepartment(int id)

};//accessdepartment類,用於訪問access的department

class accessdepartment : public idepartment

virtual idepartment* getdepartment(int id)

};//iuer介面,用於客戶端訪問,解除與具體資料庫訪問的耦合

class iuser

;class  sqlseveruser : public iuser

virtual iuser* getuser(int id)

};class accessuser : public iuser

virtual void insert(iuser* user)

virtual iuser* getuser(int id)

};//定義工廠類介面

//工廠方法模式是定義乙個用於建立物件的介面,讓子類決定具體例項化哪乙個物件,可以利用父類指標指向子類物件

class ifactory

;class sqlseve***ctory : public ifactory

virtual idepartment* createdepartment()

};class accessfactory : public ifactory

virtual iuser* createuser()

virtual idepartment* createdepartment()

};void client()

if (fac != null)

}int main()

抽象工廠模式1 1 大話設計模式學習筆記15

public class user public void setid int id public string getname public void setname string name public class sqlserveruser public user getuser int id...

抽象工廠模式1 2 大話設計模式學習筆記15

定義乙個建立訪問user表物件的抽象工廠介面 工廠方法 createuser 返回乙個iuser型別物件 public inte ce ifactory public class sqlserve ctory implements ifactory public class accessfactor...

10 大話設計模式C 實現之模板方法模式

模板方法模式是實現乙個模板父類,父類實現所有重複的 讓子類可以修改父類維持的元素或者函式,子類可以利用多型 根據需要重寫父類 include include using namespace std typedef string pfunc class templateclass virtual st...