2021-07-26观察者模式与建造者模式

2021-07-26  本文已影响0人  竹blue

观察者模式

定义

观察者模式(Observer Pattern),又叫发布-订阅模式,定义一种一对多的依赖关系,一个主题对象可被多个观察者对象同时监听,使得主题对象状态变化时,所有依赖于它的对象都会得到通知并自动更新,实现了观察者和被观察者之间的解耦,如消息订阅,属于行为型模式。

通用写法

观察者模式主要包含4种角色:

观察者模式.png
//TODO 代码编写

适用场景

观察者使用场景.png

代码中涉及到回调的一般是观察者模式,如Spring中的责任链

观察者和被观察者通常通过反射来进行解耦

源码中一般通过Listenter关键词判断是否为观察者模式

观察者可以给被观察者以响应(回调)

源码

Guava

观察者模式优缺点

观察者模式优点.png 观察者模式缺点.png

问题

建造者模式

定义:

建造者模式(Builder Pattern)是将一个复杂对象的构建与它的表示分离,使用同样的构建过程可以创建不同的表示。

特征:用户只需指定需要建造的类型就可以获得对象,建造过程及细节无需了解,属于创建型模式。

建造者模式适用于创建对象需要很多步骤,但是步骤的顺序不一定固定。

应用场景

通用写法

建造者模式主要包含4个角色:

链式编程.png

源码

StringBuilder、chain(责任链)、SqlSessionFactory、ServerSocketChannel

Sql语句拼接.png

建造者模式优缺点

优点:

缺点:

建造者与工厂的区别.png

问题

上一篇 下一篇

猜你喜欢

热点阅读