zoukankan      html  css  js  c++  java
  • 设计模式学习Builder(生成器

    builder意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

    示意图:

    image

    适用性:

    当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时

    当构造过程必须允许被构造的对象有不同的表示时

    示例代码:

    //部件类
    class CPart
    {
    public:
        CPart(void);
    public:
        ~CPart(void);
    public:
        virtual void Build()=0;
        virtual void Display()=0;
    };
    //部件A
    class CPartA:public CPart
    {
    public:
        CPartA()
        {

        }
    public:
        ~CPartA()
        {

        }
    public:
        virtual void Display()
        {
            _tprintf(_T("PartA/n"));
        }
       
        virtual void Build()
        {
            _tprintf(_T("Build PartA/n"));   
        }
    };
    //部件B
    class CPartB:public CPart
    {
    public:
        CPartB()
        {

        }
    public:
        ~CPartB()
        {

        }
    public:
        virtual void Display()
        {
            _tprintf(_T("PartB/n"));
        }
       
        virtual void Build()
        {
            _tprintf(_T("Build PartB/n"));   
        }
    };

  • 相关阅读:
    第十五篇 -- 学习第十四天打卡20190702
    第三篇 -- 方向
    第十四篇 -- 学习第十三天打卡20190701
    yum更换阿里源
    Jenkins+sonar7.3集成
    xshell 5 书写汉字乱码
    zabbix 短信报警
    zabbix 微信报警
    zabbix邮件报警
    zabbix主动监测客户端设置
  • 原文地址:https://www.cnblogs.com/SkyMouse/p/2340735.html
Copyright © 2011-2022 走看看