(一)Builder 设计模式

目录

1. 问题

2. 设计模式

2.1 分类

2.2 六大原则

3. Builder 设计模式

参考


1. 问题

由于最近开发过程中,需要添加埋点,好多参数设置我嚓,比较麻烦,觉得好多参数写上去,后续产品Key-value 要改的话太多同质化的东西要改动,用Builder 设计模式能够解决此类问题,以免多参数设置的过程中出错;

 

2. 设计模式

2.1 分类

总体来说设计模式分为三大类:

创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

其实还有两类:并发型模式和线程池模式。

 

2.2 六大原则

  1. 单一职责原则

  2. 里氏替换原则(Liskov Substitution Principle)

  3. 依赖倒转原则(Dependence Inversion Principle)

  4. 接口隔离原则(Interface Segregation Principle)

  5. 迪米特法则(最少知道原则)(Demeter Principle)

  6. 合成复用原则(Composite Reuse Principle)

 

3. Builder 设计模式

一般格式:


/**
 * XXXFactory
 * Created by machine code on 2019/6/6.
 */
public class XXXFactory {

    public static Builder newInstance(Context context) {
        return new Builder(context);
    }

    public static class Builder {

        protected XXX xxx;

        public Builder(Context context) {
            xxx = new XXX(context);
        }

        public Builder setContext(Context context) {
            xxx.setContext(context);
            return this;
        }

        public Builder setValue(String value) {
            xxx.setValue(value);
            return this;
        }

        public Builder setFlag(int flag) {
            xxx.setFlag(flag);
            return this;
        }

        public void build() {
            // TODO: 2019/6/6 here is the build logic operation
        }
    }
}
  1. 使用XXXFactory#newInstance() 构建一个Builder 生成器;
  2. 使用Builder 进行各种参数Context,Value,Flag 等设置操作;
  3. 使用Builder#build() 进行统一操作;

 

参考

  1.  23种设计模式全解析

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值