zoukankan      html  css  js  c++  java
  • 建造者模式

    建造者模式,又称生成器模式。建造者模式将复杂对象和这个对象的具体表示分离,使得相同的创建过程可以生成不同表示的对象。模板模式更多的是将具有相同执行过程的算法封装起来,使得相同的算法可以根据对象的不同产生一些不一样的地方,这与建造者模式的思维方式近乎一致。不过建造者模式讲究的是将相似对象的创建过程统一,根据具体对象的不同来具体修改。所以说建造者模式更多的是对象的创建,而且是拥有相同构造的对象。这有模板模式中可能存在差异的算法是不同的。

    比如我们经常在游戏中需要对游戏人物进行绘制,每个角色都是不同的样子,但是绘制的过程却是相同的。这里我们发现每个对象的创建过程都是一样的,但是每个对象的具体细节却是不一样的。我们把这样情况描述为复杂对象的构造方式与对象的具体表现分离,是的具有相同构造的对象可以有不同的表示。

    实例:

    image

    结果:

    image

    代码如下:

    public class test
    {

        public static void main(String args[])
        {
            User u=new User();
            u.show();
        }   

    }
    class User {
        public Builder builder1;
        void show()
        {
            builder1=new drinkBuilder();
            builder1.create();
            builder1.show();
        }
    }
    class drink {
        public String name;
        public drink(String name)
        {
            this.name=name;
        }
    }
    class drinkBuilder extends Builder {
        public drink drink1;
        public void create() {
            drink1=new drink("drink");
        }
        public void show() {
            System.out.println(drink1.name);
        }
    }
    abstract class Builder {
        abstract public void create() ;
        abstract public void show() ;
    }

    联系我:renhanlinbsl@163.com

    2016-8-7

    1:54

  • 相关阅读:
    JS 缓存
    时区转换
    JQuery easy UI 通过updateRow 排序
    SqlServer2008 数据库同步的两种方式
    C#各种辅助类收集(CSharpCommonHelper)
    Doc命令收集(一)
    Sql Server Alter语句
    JQuery easy UI updateRow
    Doc命令收集(二)
    六大开源搜索引擎工具
  • 原文地址:https://www.cnblogs.com/ives/p/builder_pattern.html
Copyright © 2011-2022 走看看