设计模式-模板模式-策略模式

本文探讨了模板模式和策略模式在实际项目中的应用。模板模式适用于固定流程但具体步骤可变的场景,如规则引擎和消息队列的消费生产。策略模式则用于解决根据特定条件选择不同行为的问题,例如根据业务场景动态选择策略,减少if-else,提高代码可扩展性。文中还提及了其他设计模式如单例、工厂、适配器、观察者模式等在不同场景下的使用。
摘要由CSDN通过智能技术生成

模板模式:1.应用场景:在一个项目的规则引擎中,一个规则引擎有一系列规则过滤,这个过滤步骤基本上是确定的,只是某些步骤在不同的场景下需要相互替换,模板方法定义了方法调用顺序,需要用到一个钩子,让子类去实现这个方法。
2.模板模式解决问题:解决了以后可拓展的问题,如果以后需要在新场景下新增规则方法,只需新增一个类,实现钩子方法即可,不需改动既有代码。
3.模板模式,场景:消息队列的消费端和生产端,将初始化生产消费端代码封装在模板中,业务只需关心消费到的数据即可,不用关心怎么消费的。

策略模式:1.曾经解决过一个场景,入参是一样的,要根据参数中type字段不同的值解决不同的业务场景,源代码中充斥着大量的if..else.新增一种业务场景,需要修改源代码,明显不符合开闭原则,解决办法:使用策略模式解决,不同的type对应一个具体的策略,新增一个场景,新增一个具体的策略类即可,不需要修改源代码了;2.用的最多的是用策略模式解决ifelse过多不好扩展的问题。3.策略模式,工厂,不同的数据依据不同的规则导入数据库 (共有的导入抽提了出来),工厂协同完成。4.我用过策略模式,用以解决同一行为的不同实现的方式,比如有的场景下去查缓存、有的去查数据库,根据场景不同,加载不同的策略。【csp_view支持不同系统的人员组织,task_list对不同的任务类型的ext格式化】

MVC:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值