您的位置:首页 > 健康 > 养生 > 中国体育新闻热点_商城源码下载_百度竞价返点开户_百度云网盘下载

中国体育新闻热点_商城源码下载_百度竞价返点开户_百度云网盘下载

2025/5/19 16:40:37 来源:https://blog.csdn.net/qq_40453972/article/details/142375214  浏览:    关键词:中国体育新闻热点_商城源码下载_百度竞价返点开户_百度云网盘下载
中国体育新闻热点_商城源码下载_百度竞价返点开户_百度云网盘下载

十三 设计模式

工厂模式:spring中使用(目的是:解耦

1.简单工厂

  • 所有的产品都共有一个工厂,如果新增产品,则需要修改代码,违反开闭原则·
  • 是一种编程习惯,可以借鉴这种编程思路

2.工厂方法模式

  • ·给每个产品都提供了一个工厂,让工厂专门负责对应的产品的生产,遵循开闭原则
  • · 项目中用的最多

3.抽象工厂方法模式

  • ·如果有多个纬度的产品需要配合生产时,优先建议采用抽象工厂(工厂的工厂)
  • 一般的企业开发中的较少

策略模式

13.1 简单工厂模式

13.2 工厂方式模式

13.3 抽象工厂模式

13.4 策略模式

  • 该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户
  • 一个系统需要动态地在几种算法中选择一种时,可将每个算法封装到策略类中
  • 它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理

策略模式的主要角色如下

  • 抽象策略(Strategy)类:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口
  • 具体策略(Concrete Strategy)类: 实现了抽象策略定义的接口,提供具体的算法实现或行为。
  • 环境(Context)类:持有一个策略类的用,最终给客户端调用

13.5 登录案例(工厂模式+策略模式)

在getTypes中获取胚配置中所有的types,遍历后存入到Map中,

spring生命周期中有aware,此时提供applicationContext上下文对象,就会获取bean当如到Map的value中

完成 根据不同的参数完成不同的策略

1.其他案例(策略) 举一反三

  • 订单的支付策略(支付宝、微信、银行卡...)
  • 解析不同类型excel(xls格式、xlsx格式)
  • 打折促销(满300元9折、满500元8折、满1000元7折..)
  • 物流运费阶梯计算(5kg以下、5-10kg、10-0kg、20kg以上)

一句话总结:只要代码中有长的 if-else 或 switch 分支判断都可以采用策略模式优化

2.其他案例(工厂方法+策略)

  • 介绍业务(登录、支付、解析excel、优惠等级...)
  • 提供了很多种策略,都让spring容器管理
  • 提供一个工厂:准备策略对象,根据参数提供对象

13.6 责任链设计模式

责任链模式:为了避免请求发送者多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止

  • 抽象处理者 (Handler)角色: 定义一个处理请求的接口,包含抽象处理方法和一个后继连接.
  • 具体处理者(Concrete Handler)角色:实现抽象处理者的处理方法,判断能否处理本次请求,如果可以处理请求则处理,否则将该请求转给它的后继者
  • 客户类(Client)角色:创建处理链,并向链头的具体处理者对象提交请求,它不关心处理细节和请求的传递过程

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com