23种设计模式之建造者模式代码实例

建造者模式在实际工作中常常是在测试类造数据的时候使用,继承既定的Builder类之后,

新的Builder类可以方便的“建造“各种属性。具体见如下代码。

先有默认的既定Builder类:

public interface Builder {
    public void  buildPartA();
    public void  buildPartB();
    public void  buildPartC();

}

然后有这个Builder类需要建造的产品类:

public class Product {
    private String PartA;
    private String PartB;
    private String PartC;

    public void setPartA(String partA) {
        PartA = partA;
    }

    public void setPartB(String partB) {
        PartB = partB;
    }

    public void setPartC(String partC) {
        PartC = partC;
    }

    public String getPartA() {
        return PartA;
    }

    public String getPartB() {
        return PartB;
    }

    public String getPartC() {
        return PartC;
    }
}

再有这个产品类对应的Builder实现类:

public class ProductBuilder implements Builder{
    private Product product ;
    public ProductBuilder(){
        this.product = new Product();
    }
    public void buildPartA() {
        this.product.setPartA("partA");
    }

    public void buildPartB() {
        this.product.setPartB("partB");
    }

    public void buildPartC() {
        this.product.setPartC("partC");
    }
}

测试类:

public class BuilderTest {
    public static void main(String[] args) {
        ProductBuilder productBuilder = new ProductBuilder();
        productBuilder.buildPartA();
        productBuilder.buildPartB();
        productBuilder.buildPartC();
    }
}
时间: 2024-08-29 18:12:40

23种设计模式之建造者模式代码实例的相关文章

23种设计模式之组合模式代码实例

组合模式又叫部分整体模式,在处理类似树形结构的问题时常用. public class TreeNode { private String name; private TreeNode parent; private Vector<TreeNode> children = new Vector<TreeNode>(); public TreeNode(String name){ this.name = name; } public String getName() { return

23种设计模式之桥接模式代码实例

桥接模式就是把事物与其具体的实现相分离,抽象化与实现化解耦. public interface Sourceable { public void method(); } public class SourceSub1 implements Sourceable { @Override public void method() { System.out.println("this is the first sub!"); } } public class SourceSub2 imple

【Unity3D与23种设计模式】建造者模式(Builder)

GoF中定义: "将一个复杂的构建流程与它的对象表现分离出来,让相同的构建流程可以产生不同的对象行为表现." 建造者模式可以分为两个步骤来实施: 1.将复杂的构建流程独立出来,并将整个流程分成几个步骤,其中的每一个步骤可以是一个功能组件的设置,也可以是参数的指定,并且在一个构建方法中,将这些步骤串接起来. 2.定义一个专门实现这些步骤的实现者,这些实现者知道每一个部分该如何完成,并且能接受参数来决定要产出的功能,但不知道整个组装流程是什么. 把握两个原则:"流程分析安排&qu

23种设计模式之建造者模式

建造者模式(Builder):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. package designMode.builder; import java.util.LinkedList; import java.util.List; class Product { List<String> parts = new LinkedList<String>(); public void add(String part){ parts.add(part);

Java经典23种设计模式之创造型模式(二)

本文记录5种创造型模式的剩下两种:建造者模式(Builder).原型模式(PROTOTYPE). 一.建造者模式(别名:生成者模式) 将复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示.一个完整的建造者模式包含以下几个概念: 1.产品类 Product public class Person { private String head; private String body; private String foot; public String getHead() { ret

JAVA开发的23种设计模式之 --- 桥接模式

桥接模式 概述:将抽象部分与他的实现部分分离,这样抽象化与实现化解耦,使他们可以独立的变化.如何实现解耦的呢,就是通过提供抽象化和实现化之间的桥接结构.    应用场景        实现系统可能有多个角度分类,每一种角度都可能变化.    解释:桥接模式将继承模式转化成关联关系,他降低了类与类之间的耦合度,减少了系统中类的数量,也减少了代码量.    理解抽象化,实现化,解耦        抽象化:将复杂物体的一个或几个共同的特性抽出去而只注意其他特性的行动或过程.在java面向对象中抽象化就

Java经典23种设计模式之创造型模式(一)

设计模式被称为程序猿的内功,之前零零散散的看过一大部分,但自己么有总结过.故此次在这里总结下.值得一提的是,设计模式并不是Java所特有.由于一直搞Android.这里就用Java为载体.最经典的设计模式有23种,分三个大类型: 创建型模式(5) .结构型模式(7).行为型模式(11),5 + 7 +11 = 23.网上一搜也都是一大把了,这里不过个人作的记录.本文记录创造型模式里的工厂方法(Factory Method).抽象工厂(Abstract Factory).单例模式这三种.力求透彻.

23种设计模式----创建型模式

创建型模式的主要关注点是:如何创建对象?它主要目的是将对象的创建和使用分离.其中包括: 单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式. 原型(Prototype)模式:将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例. 工厂方法(FactoryMethod)模式:定义一个用于创建产品的接口,由子类决定生产什么产品. 抽象工厂(AbstractFactory)模式:提供一个创建产品族的接口,其每个子类可以生

23种设计模式(19)---Command模式

命令(Command)模式属于对象的行为模式[GOF95].命令模式又称为行动(Action)模式或交易(Transaction)模式.命令模式把一个请求或者操作封装到一个对象中.命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能. 命令模式是对命令的封装.命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象. 每一个命令都是一个操作:请求的一方发出请求要求执行一个操作:接收的一方收到请求,并执行操作.命令模式允许请求的一方和接收的