設計模式學習

2021-12-29 20:45:43 字數 1014 閱讀 7020

用於交換產品系列,如access->sqlserver;

產品的具體類名被具體工廠的實現分離

[html]

#include  

#include  

#include  

using namespace std; 

//使用者抽象介面 

class iuser ;  

//部門抽象介面 

class idepartment ;  

//access使用者 

class caccessuser : public iuser 

virtual void insertuser() 

};  

//access部門 

class caccessdepartment : public idepartment 

virtual void insertdepartment() 

};  

//sql使用者 

class csqluser : public iuser 

virtual void insertuser() 

};  

//sql部門類 

class csqldepartment: public idepartment 

virtual void insertdepartment() 

};  

//抽象工廠 

class ifactory ;  

//access工廠 

class accessfactory : public ifactory 

virtual idepartment* createdepartment() 

};  

//sql工廠 

class sqlfactory : public ifactory   

virtual idepartment* createdepartment() 

};  

//客戶端: 

int main()   

學習設計模式 原型設計模式

先想一下既然要建立新的例項,為什麼不直接使用 new 而要設計出乙個原型模式進行例項的複製呢?這是因為 有的時候,我們也會在不指定類名的前提下生成例項,例如像圖形編輯器中拖動現有的模型工具製作圖形的例項,這種是非常典型的生成例項的過程太過複雜,很難根據類來生成例項場景,因此需要根據現有的例項來生成新...

設計模式學習

知道設計模式已經很久了,但是一直沒有認真的去系統的學習,這幾天才開始逐漸的學習起來。下面是我學習設計模式的一些心得。要想成為一名優秀的軟體設計師或軟體架構設計師,了解一些設計模式是很有必要的。我認為學習設計模式的思路如下 一 基本概念 理解物件導向 理解重用等概念性的東西 1.什麼是物件導向?2.物...

設計模式學習

所有的設計模式都是為了解決變化的問題,通過一定的模式來應對變化,變化應對的原則是開放封閉原則,對修改封閉,對擴充套件開放。為了應對變化,就會新增相應的層次,層次越多,的顆粒就越小,那麼 就越複雜。所以設計時考慮變化和複雜之間的取捨,為了應對變化 需要使用模式,但是又不可以一味應用模式,導致 太複雜。...