在設計模式中,工廠模式(factory method)是屬於「物件建立」模式。該模式的主要作用是通過「物件建立」來避免物件new的過程中的緊耦合,使其不依賴具體的類,以來抽象以維持穩定,也就是使介面抽象化。
在c++的柔軟體系統裡,會程序面臨這不同型別的物件的建立,也就是「變化」 ,通過建立一系列的工程來使得物件的建立延遲到子類,解決耦合關係。
c++中起到延遲作用的是虛函式,所以可以通過建立工廠虛函式方法來進行物件的延遲建立。
#include
using
namespace std;
//分割器虛基類
class
issplitter};
//工廠方法
class
splitte***ctory};
//對應的三個型別的檔案分割器
//二進位制檔案分割器
class
binarysplitter
:public issplitter
~binarysplitter()
};//文字檔案分割器
class
textsplitter
:public issplitter
~textsplitter()
};//檔案分割器
class
picturesplitter
:public issplitter
~picturesplitter()
};//建立三個工廠
class
binarysplitte***ctory
:public splitte***ctory
~binarysplitte***ctory()
};//建立文字工廠
class
textsplitte***ctory
:public splitte***ctory
~textsplitte***ctory()
};//建立工廠
class
picturesplitte***ctory
:public splitte***ctory
~picturesplitte***ctory()
};class
mainform
void
button_click()
};intmain()
設計 工廠模式
如上所說,工廠要穩定,怎麼辦呢,抽象它。public abstract class factorybase 我們也附上雷達的基類,盡量能懂 public abstract class lidarbase class windlidar lidarbase class templidar lidarb...
C 設計模式 工廠模式
可以方便的使用繼承來實現建立方法的多樣性,區別於使用靜態方法定義簡單工廠。工廠方法模式 定義了乙個建立物件的介面,但由於子類決定要例項化的類是哪乙個。工廠方法讓類把例項化推遲到了子類。依賴倒置原則 要依賴抽象,不要依賴具體類 以下指導方針將避免你再oo設計中違反依賴倒置原則 盡量達到這個原則,不一定...
C 設計模式 工廠模式
建立型模式,提供了一種建立物件的最佳方式。在工廠模式中,我能在建立物件時不會對客戶端暴露建立邏輯,並且通過使用乙個公用的介面來指向新建立的物件。我們將建立乙個 shape 介面和實現 shape 介面的實體類。下一步是定義工廠類 shapefactory。factorypatterndemo,我們的...