设计模式
焱魔王
编程爱好者以及从业人员,热衷探讨、学习编程技能。
展开
-
策略模式+工厂模式 去除if-else
本文参考链接: https://juejin.im/post/5dad23685188251d2c4ea2b6需求1、多种会员优惠:超级会员折扣8折、普通会员折扣9折、普通用户没有折扣;2、用户付款时,根据用户类型进行打折计算应付金额;3、业务发展,新需求要求专属会员要在店铺下单金额大于30元时享受7折优惠;4、新需求要求如果用户超级会员到期,并到期时间在一周内,对用户的单笔订单按照超级...原创 2019-11-03 12:49:46 · 3011 阅读 · 4 评论 -
设计模式--策略模式
《Head First 设计模式》中,对于策略模式的描述如下:定义算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。这里,我们以一个例子来加深对策略模式对理解任务描述:将取自一个冒险游戏的一堆杂乱的类与接口,其中包括:游戏角色类、角色可使用的武器行为类;一个角色一次只能使用一把武器,可以更换角色使用对武器。可选角色:King(国王)、Que...原创 2018-10-25 09:59:48 · 166 阅读 · 0 评论 -
设计模式--观察者模式
1、角色说明观察者模式中,主要有两类角色:主题(subject)和观察者(observer)。主题:采集数据,将更新消息推送给订阅该主题的所有观察者;观察者: 订阅了主题之后,可以从主题中接收通知;此模式结构类图如下:2、实例问题java中内置有观察者模式,但是为了更好地理解此模式,我们以《Head First 设计模式》一书中的例子为切入点,自己搭建一套关于天气的观察者模式...原创 2018-11-07 09:48:50 · 380 阅读 · 0 评论