Java中的23种设计模式(总纲)

分为三种类型

  • 创建型
  • 结构型
  • 行为型

        行为型式是用来多个类和对象来完成单个类无法单独完成的任务,模板方法,责任链模式,状态模式,解释器模式。

        策略模式主要是用来根据上下文去动态控制类的行为的一个场景,一般用来解决多个if,else带来的代码复杂性和维护复杂等。另外把类的行为进行封装,使程序可以进行动态的扩展和替换,增加程序的灵活性,比如像支付路由这样一个场景,就可以使用策略模式来设计。

        观察者模式主要是应用在一对多的对象依赖关系处理中,实现某一个对象变更之后感知的一个场景,一方面可以降低对象依赖关系之间的耦合度,弱化依赖关系,另外一种方面,通知这种状态的通知机制,可以保证依赖对象的状态协同,在Spring源码里面,有大量运用到这种观察者模式,来实现事件的传播和感知,

策略模式和观察者模式是属于行为型

策略模式

        把每个算法独立写到一个类里面,使用算法的时候从算法集里面获取,可以灵活获取算法。如Comparator里面的compareTo(o1,o2)。用Map存取算法名和算法的实现接口,实际要用到的时候直接使用Comparetor接口实现,调用compareTo接口

观察者模式(即发布订阅模式)

抽象主题

//抽象主题
abstract class Topic{
    // 观察者对象集合
    List<Observer> observers;
    // 移除观察者
    void removeObserve();
    // 添加观察者
    void addObserve();
    // 唤醒观察者
    void notifyObserver();
} 

抽象观察者

abstract class Observer{
    // 接收通知及做出响应
    void receiveNotifyAndDoSomething();
}

在spring源码中的使用场景

  • spring事件监听

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值