由于业务中经常有需要判断的if--eles操作,层层嵌套,看起来程序的可读性太差,结合策略模式进行改造 方法一、一般有策略模式 + 工厂模式进行代码的优化,减少 if else; 方法二、还有就是利用策略模式 + SpringBoot提供的某些类 进行包装 本次介绍采用方法二的方式,大概的思路是: ...
分类:
编程语言 时间:
2019-10-31 21:21:57
阅读次数:
83
在策略模式中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。简单理解就是一组算法,可以互换,再简单点策略就是封装算法。 一、类图 策略模式包含如下三个角色: 环境(Context)角色:持有一个Strategy的引用。 抽象策略(Strategy)角色:这是一个抽象角色,通 ...
分类:
其他好文 时间:
2019-10-29 19:30:19
阅读次数:
68
课程目录:0-设计模式前言Singleton-单例模式-第一模式1-strategy_策略模式-第二模式2-strategy_策略模式-第二模式3-strategy_策略模式-第二模式4-strategy_策略模式-第二模式5-strategy_策略模式-第二模式6-Factory_1-第三第四模式 ...
分类:
其他好文 时间:
2019-10-28 22:36:08
阅读次数:
156
一、设计模式 1、设计模式分类 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式 ...
分类:
其他好文 时间:
2019-10-28 16:26:39
阅读次数:
92
策略模式,将一组特定的行为和算法封装成类,以适应某些特定的上下文环境。 eg:假如有一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有的广告位展示不同的广告。在传统的代码中,都是在系统中加入各种if else的判断,硬编码的方式。如果有一天增加了一种用户,就需要改写代码。使用策略 ...
分类:
其他好文 时间:
2019-10-22 15:20:59
阅读次数:
72
状态模式关注对象的各种状态,当条件变化时,对象能够在各种状态之间相互转换,并且对于同一个操作,不同状态会有不同的表现。状态模式和策略模式有许多相同的地方,比如它们的类结构基本相同,都使用组合来增加灵活性等。 ...
分类:
其他好文 时间:
2019-10-19 20:48:18
阅读次数:
96
相同点:同为行为型策略模式,均通过context类封装一个具体行为,都提供一个封装的方法; 不同点: 1)从定义看:目的不同 策略模式:封装不同的算法,算法间没有交互,达到算法可以自由互换目的; 实际样例:人生不同阶段的主要工作:儿童-》玩耍、成年-》工作。比如加密算法的互换(AES->RSA) 状 ...
分类:
其他好文 时间:
2019-10-17 22:05:03
阅读次数:
82
一、策略模式 策略模式是通过把派生类和基类封装(聚合)到一个上下文类,这个类的实现既调用了基类的方法,也调用了派生类的方法;基类通过派生类实现了不同策略,可以通过调用对象的不同具体实现不同的策略; 二、工厂模式 ...
分类:
其他好文 时间:
2019-10-17 12:10:15
阅读次数:
73
策略模式 什么是策略模式 策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化 策略模式是对算法的包装,是把使用算法的责任和算法本身分开。策略模式通常是把一系列的算法包装到一系列的策略类里面,作为一个抽 ...
分类:
其他好文 时间:
2019-10-16 17:34:42
阅读次数:
87
总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、 ...
分类:
其他好文 时间:
2019-10-16 11:15:23
阅读次数:
82