設計模式觀後(c 還原之十二 命令模式)

2021-06-25 18:26:35 字數 1363 閱讀 8758

以前在github給自己寫日記習慣了,現在csdn寫東西還是要更加規範點,以後還是寫完全能編譯的**吧!

#include #include #include #include #include #include using std::map;

using std::endl;

using std::cout;

using std::list;

using std::vector;

using std::string;

//命令模式

//作者前面的設計感覺可以歸納為,類的函式封裝與類之間的父子關係。

//最近的兩個模式讓我覺得,作者已經開始進入;類與類的關係,類與類的呼叫與封裝了。

//先看命令模式的示例: 需求組、美工組、**組、客戶類每增加乙個需求就會多次無序呼叫這三個組

//所以需要設計乙個類似中介的類

class group ;

//分別實現三組

class requirementgroup : public group

void add()

void change()

void plan()

void delete()

};class pagegroup : public group

void add()

void change()

void plan()

void delete()

};class codegroup : public group

void add()

void change()

void plan()

void delete()

};//封裝客戶的命令,產生命令類

class command

virtual void execute() = 0;

};class addrequirementcommand : public command

};class deletepagecommand : public command

};class invoker

void action()

};class client

};

//命令模式基本三個角色
//接收者(工作組)、命令者(command)、呼叫者(invoker).都要看情況設定抽象類和具體類

//擴充套件,新增命令就好

int _tmain(int argc, _tchar* argv)

設計模式觀後(c 還原之六 工廠模式)

人類 女媧示例 感覺沒講的,既然工廠要製造那麼多東西,那直接用模板不就好了 class human virtual void talk class blackhuman public human virtual void talk class yellowhuman public human vir...

設計模式觀後(c 還原之十五 策略模式)

using std map using std endl using std cout using std list using std vector using std string 策略模式 這個模式,感覺沒啥東西。就是自由切換和避免多重判斷 抽象策略角色 class strategy 具體策略...

設計模式觀後(c 還原之十七 迭代器模式)

迭代器模式 現在已經基本感覺沒意思了,感覺每個23鐘模式圍繞著前面的6個原則設計 只是增加了示例見識,還不見得全記得住。估計要用的時候才會迅速找到 不說了,要加速23鐘模式 快點進入模式混合搭配,才能深刻理解 作者把管理專案資訊做了乙個迭代器 先抽象基類 class projectiterator ...