c 工廠模式

2021-10-01 07:03:54 字數 2036 閱讀 4643

簡單寫了乙個工廠模式

在這種模式下,有新增的類時,fileaccessfasctory.h 和filework,cpp這兩個檔案是穩定的,不需要修改,只需要修改fileaccess.h和fileaccess.cpp,或者新增檔案,這樣就在業務邏輯中隔離變化;同時也可以實現增量編譯,也不會影響業務**的單元測試。

fileaccessfasctory.h

#ifndef _file_access_factory_h

#define _file_access_factory_h

class ifileaccess};

class ifileaccessfactory};

#endif

filework,cpp

#include

"fileaccess.h"

class filework

void

dowork()

};

fileaccess.h

#ifndef _file_access_h

#define _file_access_h

#include

"fileaccessfactory.h"

using namespace std;

class textfileaccess : public ifileaccess

;class picturefileaccess : public ifileaccess

;class videofileaccess : public ifileaccess

;class audiofileaccess : public ifileaccess

;class textfileaccessfactory : public ifileaccessfactory

;class picturefileaccessfactory : public ifileaccessfactory

;class videofileaccessfactory : public ifileaccessfactory

;class audiofileaccessfactory : public ifileaccessfactory

;#endif

fileaccess.cpp

#include

"fileaccess.h"

#include

using namespace std;

void textfileaccess:

:open()

void textfileaccess:

:read()

void picturefileaccess:

:open()

void picturefileaccess:

:read()

void videofileaccess:

:open()

void videofileaccess:

:read()

void audiofileaccess:

:open()

void audiofileaccess:

:read()

ifileaccess*textfileaccessfactory:

:createfileaccess()

ifileaccess* picturefileaccessfactory:

:createfileaccess()

ifileaccess* videofileaccessfactory:

:createfileaccess()

ifileaccess* audiofileaccessfactory:

:createfileaccess()

main.cpp

#include

"filework.cpp"

intmain()

工廠模式 (C )

1 uml設計圖 2 核心實現 public static insurancefactorygetinsurancefactory string type else if type.equals 汽車損壞 else if type.equals 財產安全 else if type.equals 人員...

C 工廠模式

本文參考1 本文參考2 軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c 寫了個小例子,加深一下理解。主要參...

c 工廠模式

將乙個複雜的物件的構建和其部件分離,將耦合度降到最低。換句話說,就是當初始化乙個物件需要很多步驟 複雜工作時,不要使用new來建立物件,而是通過工廠模式抽象出來專門生成物件的一種方法。量會增加,但耦合度降低 維護方便。工廠模式設計思路 工廠類負責對產品類的建立,即產品類不能直接例項,不能new,產品...