策略模式

策略模式解析

策略模式

   查理想要扩大自己的巧克力工厂,但是他还是一个小孩,很多东西都不知道,那么他就只能让旺卡想出很多种销售模式,来进行提高销量,比如买二送一、满300减120、特价商品打个6折如此如此,那么由查理进行挑选那种策略模式的时候,他需要怎么处理了?旺卡把所有的销售策略都列出来,然后一个个讲给查理听,然后让他来做决定,那么这样和由查理来想策略有什么差别了?那么查理当然是应该是对旺卡说:我想巧克力棒打折、巧克力饮料满减、巧克力糖果满2送1的策略,那么旺卡了解之后,来调用对应的资源就行了,不是吗?有什么比做一个甩手掌柜爽了?

那么换成代码来来讲,查理就是用户类,那么良好的用户体验就是甩手掌柜,我只需要说:我想打折销售,那么需要一个管理者,来分析你的要求,然后调用对应的打折模式就可以了。那么在编程世界中就有这么一个东西,见下图:

 

       是吧,我是用户,我给策略接口发不同的指令,然后接口执行不同的策略,这就是接口的作用,这就是策略模式,接口里面的函数叫策略抽象函数,而每个具体实现,就为策略实现。可是有个确定,比如查理又有20中产品,然后每个都有一种销售策略,那么我作为用户也很麻烦,那么就可以用到之前的工厂模式,将所有的打折套路集中到工厂里面,我只需要传入有个列举,就是类型,就可以获取对应的策略实现类对象。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值