博客
关于我
建造者模式
阅读量: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/

    你可能感兴趣的文章
    MySQL高可用切换_(5.9)mysql高可用系列——正常主从切换测试
    查看>>
    MySQL高可用解决方案详解
    查看>>
    MYSQL高可用集群MHA架构
    查看>>
    MySQL高级-MySQL并发参数调整
    查看>>
    MySQL高级-MySQL查询缓存优化
    查看>>
    MySQL高级-MySQL锁
    查看>>
    MySQL高级-SQL优化
    查看>>
    MySQL高级-SQL优化步骤
    查看>>
    MySQL高级-内存管理及优化
    查看>>
    MySQL高级-索引的使用及优化
    查看>>
    MySQL高级-视图
    查看>>
    MySQL高级-触发器
    查看>>
    mysql高级查询~分页查询
    查看>>
    MySQL高频面试题
    查看>>
    MySQL高频面试题的灵魂拷问
    查看>>
    MySQL(2)DDL详解
    查看>>
    Mysql,sql文件导入和导出
    查看>>
    MYSQL:int类型升级到bigint,对PHP开发语言影响
    查看>>
    Mysql:mysql 5.X 报错 ERROR 1193 (HY000): Unknown system variable ‘validate_password_length‘
    查看>>
    MySQL:MySQL执行一条SQL查询语句的执行过程
    查看>>