• 建造者模式


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

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

    实例:

    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

  • 相关阅读:
    c# 使用ajaxfileupload上传文件,通过一般处理程序(Handler)接收文件 ashx 图片 Excel文件都可以
    C#+aspx+ajaxfileupload 实现文件上传
    Java中的int与String互相转换方式
    简述 readyonly 与 disabled 的区别
    was应用服务器搭建
    MVC中贫血模型与充血模型
    npm安装教程 Vue环境搭建
    使用vs Code从0开始搭建一个vue项目(手把手教会你,包会)
    使用VS code 打开Vue项目
    Task , Thread 学习
  • 原文地址:https://www.cnblogs.com/ives/p/builder_pattern.html
Copyright © 2020-2023  润新知