1.策略模式:
官方描述:定义一系列算法,把他们封装起来,并且使它们可以相互替换。
白话文描述:有共同的抽象行为,具体不同的行为称作为不同的策略,最终可以使用Context上下文获取对应策略。
应用场景:解决多重if判断问题、聚合支付平台、第三方联合登陆、调用多个不同短信接口等。
2.责任链模式:
官方描述:将请求的发送者和接收者解耦,使的多个对象都有处理这个请求的机会。
白话文描述:每一个业务模块之间相互依赖比较有关联、每个关联模块称作为handler(处理器)使用上一个handler引用到下一个hanlder实现一个链表。
应用场景:权限控制、网关权限控制、审批、风控系统等。
3.模版方法:
官方描述:定义一个算法结构,而将一些步骤延迟到子类实现。
白话文描述: 提前定义好整体的骨架,不同的行为让子类实现,相同的行为直接定义在抽象类中复用。
有大体共同抽象行为全部交给父类实现,不同的行为让子类实现。
应用场景:支付异步回调重构、Servlet实现
4.装饰模式:
官方描述:动态的给对象添加新的功能。
白话文描述: 在不改变原有对象的基础上附加功能,相比生成子类更灵活。
应用场景:IO流
5.代理模式:
官方描述:为其他对象提供一个代理以便控制这个对象的访问。
白话文描述:在方法之前和之后做一些处理 实现AOP通知
应用场景:AOP、事务、日志、权限控制
6.观察者模式:
官方描述: 对象间的一对多的依赖关系。
白话文描述:在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象收到通知并自动更新
其实就是发布订阅模式,发布者发布消息,订阅者获取消息,订阅了就能收到消息,没订阅就收不到消息。
应用场景: 发布订阅 事件通知、 Zookeeper、事件监听操作
7.门面模式:
官方描述: 对外提供一个统一的方法,来访问子系统中的一群接口。
白话文描述:该模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的使用
8.状态模式:
官方描述: 允许一个对象在其对象内部状态改变时改变它的行为。
白话文描述:状态模式与策略模式本质上没有很大区别,主要根据行为决定,如果有共同抽象行为使用策略模式,没有共同行为就使用状态模式。
9.适配器模式:
官方描述:将一个类的方法接口转换成客户希望的另外一个接口。
应用场景: mybatis日志收集、提供接口转换。
10.单例模式
官方描述:保证在一个jvm中只能有一个实例
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/131278.html