博客
关于我
建造者模式
阅读量:686 次
发布时间:2019-03-17

本文共 1259 字,大约阅读时间需要 4 分钟。

建造者模式(Builder Pattern)是一种软件设计模式,其核心理念是将对象的创建工作分解给特化的建造者,使开发者无需直接处理复杂的对象创建逻辑。

在建造者模式中,主要角色包括:

  • Builder:提供一个抽象接口,规定需要创建的对象各部分的组成要素。
  • ConcreteBuilder:实现Builder接口,负责实际构建对象的具体部分。
  • Director:负责协调不同ConcreteBuilder的工作,确保对象按正确顺序和规则创建完成。
  • Product:由Builder组合完成的最终对象形式。
  • 这种模式特别适用于以下场景:

    • 需要构建具有复杂内部结构的对象。
    • 对象的属性之间具有相互依赖关系。

    典型的Java应用实例包括:

    • StringBuilder类作为StringBuffer的延伸。
    • ZK客户端Curator。
    • MyBatis的ParameterMapping特性。

    以下是一个实际的实现示例:

    public class Person {    private String name;    private int age;    public Person(String name, int age) {        this.name = name;        this.age = age;    }    // getters和setters}public interface PersonBuilder {    Person build();}public class ManBuilder implements PersonBuilder {    private String name;    private int age;    public ManBuilder setName(String name) {        this.name = name;        return this;    }    public ManBuilder setAge(int age) {        this.age = age;        return this;    }    public Person build() {        return new Person(name, age);    }}public class Test {    public static void main(String[] args) {        Person person = new ManBuilder()                .setName("s")                .setAge(2)                .build();        System.out.println(person);    }}

    这种实现方式允许开发者通过配置各个属性,然后只需调用build方法即可得到完整的Person对象。

    转载地址:http://xvkhz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现cocktailShakerSort鸡尾酒排序算法(附完整源码)
    查看>>
    Objective-C实现CoinChange硬币兑换问题算法(附完整源码)
    查看>>
    Objective-C实现collatz sequence考拉兹序列算法(附完整源码)
    查看>>
    Objective-C实现Collatz 序列算法(附完整源码)
    查看>>
    Objective-C实现comb sort梳状排序算法(附完整源码)
    查看>>
    Objective-C实现combinationSum组合和算法(附完整源码)
    查看>>
    Objective-C实现combinations排列组合算法(附完整源码)
    查看>>
    Objective-C实现combine With Repetitions结合重复算法(附完整源码)
    查看>>
    Objective-C实现combine Without Repetitions不重复地结合算法(附完整源码)
    查看>>
    Objective-C实现conjugate gradient共轭梯度算法(附完整源码)
    查看>>
    Objective-C实现connected components连通分量算法(附完整源码)
    查看>>
    Objective-C实现Connected Components连通分量算法(附完整源码)
    查看>>
    Objective-C实现Convex hull凸包问题算法(附完整源码)
    查看>>
    Objective-C实现convolution neural network卷积神经网络算法(附完整源码)
    查看>>
    Objective-C实现convolve卷积算法(附完整源码)
    查看>>
    Objective-C实现coulombs law库仑定律算法(附完整源码)
    查看>>
    Objective-C实现counting sort计数排序算法(附完整源码)
    查看>>
    Objective-C实现countSetBits设置位的数量算法(附完整源码)
    查看>>
    Objective-C实现currency converter货币换算算法(附完整源码)
    查看>>
    Objective-C实现cycle sort循环排序算法(附完整源码)
    查看>>