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"));   
        }
    };

  • 相关阅读:
    《POJ-2369》
    《1402
    《2018 Multi-University Training Contest 8》
    《HDU
    循环串
    模拟赛 数根 题解
    备份
    关于带删除线性基
    论OIer谈恋爱的必要性
    某计数题题解
  • 原文地址:https://www.cnblogs.com/SkyMouse/p/2340735.html
Copyright © 2011-2022 走看看