设计模式

观察者模式

要点:

  1. 观察者模式定义了对象之间一对多的关系。
  2. 主题(subject,可观察者)用一个共同的接口来实现observer(观察者)。
  3. 主题subject和观察者observer之间用松耦合方式结合,subject不知道observer的细节,只知道观察者实现了观察者接口。
  4. 使用观察者模式时,你可以被观察者推(push)或拉(pull)数据。
  5. 有多个观察者时,不可以依赖特定的通知次序。
  6. Java有多种观察者模式的实现,包括了通用的java.util.Observer。
  7. 要注意java.util.Observer所带来的一些问题。(可观察者是一个类,Observable是一个类)
  8. 如果有必要的话,可以实现自己的observer。
  9. 观察者模式广泛应用于:JavaBeans, RMI等。

观察者模式,又可以称之为发布-订阅模式,观察者,顾名思义,就是一个监听者,类似监听器的存在,一旦被观察/监听的目标发生的情况,就会被监听者发现,这么想来目标发生情况到观察者知道情况,其实是由目标将情况发送到观察者的。

观察者模式多用于实现订阅功能的场景,例如微博的订阅,当我们订阅了某个人的微博账号,当这个人发布了新的消息,就会通知我们。

关键点:

1、针对观察者与被观察者分别定义接口,有利于分别进行扩展。

2、重点就在被观察者的实现中:

(1)定义观察者集合,并定义针对集合的添加、删除操作,用于增加、删除订阅者(观察者)

(2)定义通知方法,用于将新情况通知给观察者用户(订阅者用户)

3、观察者中需要有个接收被观察者通知的方法。

工厂模式

根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式,根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。

简单工厂模式

工厂方法模式

抽象工厂模式

三级目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值