概述 策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少各种算法类与使用算法类之间的耦合。 场景 超市收营员收钱,有打几折、满多少返现、正常收费等活动来最终算出客户应该付多少现金。 1.现金收款超类 2.正常收费 ...
分类:
其他好文 时间:
2019-02-14 23:53:52
阅读次数:
198
概念 Strategy模式也叫策略模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略)。Strategy模式主要用来平滑地处理算法的切换 。 角色和职责 Strategy: 策略(算法 ...
分类:
其他好文 时间:
2019-02-09 22:51:53
阅读次数:
325
今天我们要介绍的设计模式叫做策略模式。策略模式其实就是把不同的策略(方法)封装在不同的类中。在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式(摘自菜鸟教程)。下面我们用代码来实现策略模式。 1、首先定义一个策略的接口: 2.定义 ...
分类:
其他好文 时间:
2019-02-09 20:56:53
阅读次数:
175
前言 装饰模式顾名思义就是在不改变原对象的前提下,将新功能优雅的附加(装饰)到该对象上,可以实现对复合算法(策略)的优雅封装、对需要协作的算法(策略)进行有机组合。 装饰模式和策略模式用法类似,但是也有明显区别——策略模式运行时只能运行一个算法,且其各个算法(算法族)之间必须相互独立,不能有联系,装 ...
分类:
编程语言 时间:
2019-02-02 10:29:19
阅读次数:
187
不出意外,这应该是年前最后一次分享,本次来一点实际开发中会用到的小技巧。 ...
分类:
其他好文 时间:
2019-01-30 18:28:37
阅读次数:
149
一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责 ...
分类:
其他好文 时间:
2019-01-28 20:18:38
阅读次数:
173
业务场景:操作类型三种。0、1、2、为了层次清晰,减少if判断,所以使用。 目录结构: 1、server类 ...
分类:
其他好文 时间:
2019-01-24 18:47:07
阅读次数:
155
命令模式观察者模式 装饰着模式策略模式适配器模式责任链模式外观模式迭代器模式 中介者模式工厂方法模式 工厂A生产A产品,工厂B生产B产品抽象工厂模式 工厂1生产西装上衣和西装裤子 工厂2生产牛仔上衣和牛仔裤子 生成器模式 将对象的构建与表示相分离,比如不同需求的用户需要不同的功能与不同的界面模式的结 ...
分类:
编程语言 时间:
2019-01-23 00:09:28
阅读次数:
250
什么是策略模式 策略是我们在处理问题是所采用的步骤方法。如我要过年回家,方式有飞机、火车,汽车等,这几种方式就是策略。 再比如我们商城要搞一个活动,给用户生成一批优惠券,5折,7折,免单等,这些方法也是策略。 一个策略模式的例子: 模拟一个销售给客户报价的业务场景。我们销售人员对不同的客户制定不同的 ...
分类:
其他好文 时间:
2019-01-18 21:50:53
阅读次数:
241
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。Android中最典型的的策略设计模式是动画插值器的使用,具体怎么使用的,将是本文所重点所写的内容。1、UML类图Context:用来操作策略的上下文环境。Strategy:策略的抽象。ConcreteStrategyA、ConcreteStrategyB:具体的策略实现。2、
分类:
移动开发 时间:
2019-01-18 19:49:40
阅读次数:
238