資源描述:
《17種設(shè)計(jì)模式代碼》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、lx適配器模式adapter#includeusingnamespacestd;classDeque{public:voidpush_back(intx){cout?HDequepush_backH?endl;}voidpush_front(intx){cout?HDequepush_frontH?endl;}voidpop_back(){cout?HDequepop_back"?endl;}voidpop_front(){cout?HDequepop_frontH?endl;}};〃順序容器c
2、lassSequence{public:virtualvoidpush(intx)=0;virtualvoidpop()=0;};〃棧classStack:publicSequence{public:voidpush(intx){deque.push_back(x);}voidpop(){deque.pop_back();}private:Dequedeque;//雙端隊(duì)列};〃隊(duì)列classQueue:publicSequenee{public:voidpush(intx){deque.push_back(x);
3、}voidpop(){deque.pop_front();}private:Dequedeque;//雙端隊(duì)列};intmain(){Sequenee*sl=newStack();Sequence*s2=newQueue));sl->push(l);sl->pop();s2->push(l);s2->pop();deletesi;deletes2;return0;}2^建造者模式building#includeusingnamespacestd;classBuilder{public:virtu
4、alvoidBuildHead(){}virtualvoidBuildBody(){}virtualvoidBuildLeftArm(){}virtualvoidBuildRightArm(){}virtualvoidBuildLeftLegO{}virtualvoidBuildRightLegf){}};〃構(gòu)造瘦人classThinBuilder:publicBuilder{public:voidBuildHead(){cout?"buildthinbody"?endl;}voidBuildBody(){cout
5、?"buildthinhead"?endl;}voidBuildLeftArm(){cout?"buildthinleftarm"?endl;}voidBuildRightArm(){cout?"buildthinrightarm"?endl;}voidBuildLeftLegO{cout?"buildthinleftlegn?endl;}voidBuildRightLeg(){cout?"buildthinrightleg"?endl;}};〃構(gòu)造胖人classFatBuilder:publicBuilder{p
6、ublic:voidBuildHeadf){cout?"buildfatbody"?endl;}voidBuildBodyO{cout?"buildfathead"?endl;}voidBuildLeftArm(){cout?"buildfatleftarm"?endl;}voidBuildRightArm(){cout?"buildfatrightarm"?endl;}voidBuildLeftLegO{cout?"buildfatleftleg"?endl;}voidBuildRightLeg(){cout?"
7、buildfatrightleg"?endl;}};〃構(gòu)造的指揮官classDirector{private:Builder*m_pBuilder;public:Director(Builder*builder){m_pBuilder=builder;}voidCreate(){m_pBuilder->BuildHead();m_pBuilder->BuildBody();m_pBuilder->BuildLeftArm();m_pBuilder->BuildRightArm();m_pBuilder->Build
8、LeftLeg();m_pBuilder->BuildRightLeg();}};intmain(){FatBuilderthin;Directordirectorf&thin);director.Create();return0;}3、策略模式#includeusingnamespacestd;classCOperation{publi