设计模式之工厂模式

来源:互联网 发布:象棋软件下载 编辑:程序博客网 时间:2024/06/07 00:53

抽象工厂
工厂模式:统一了接口,但是违背了开闭原则(开放扩展,关闭修改)

抽象工厂模式UML表示

#include<iostream>using namespace std;class product{    public:        virtual void Do(){            cout << "product Do\n";        }};class productA : public product{    public :        void Do(){            cout << "productA\n";        }};class productB : public product{    public :        void Do(){            cout << "productB\n";        }};class productC : public product{    public :        void Do(){            cout << "productC\n";        }};class Factory{    private :        product * pdt;    public :        Factory(product * pdt){            this->pdt = pdt;        }        ~ Factory(){        }        void MakeProduct(){            pdt->Do();        }};int main(void){    Factory * f1 = new Factory(new productB());    f1->MakeProduct();    Factory * f2 = new Factory(new productA());    f2->MakeProduct();    return 0;}
0 0
原创粉丝点击