15-TypeScript策略模式
在前面的简单工厂模式中,通常将每个类、接口定义到不同的文件中。在面向对象开发思想中有一个重要的原则就是封装变化点,在实际操作过程中,
通常被调用方的代码不要去更改,而是增加,这是面向对象的开闭原则。在简单工厂模式中存在一个问题,就是简单工厂类需要知道不同具体类的实现,如果现在多了一种算法比如乘法,
我们可以增加一个乘法类,但是需要在工厂类中修改代码,判断如果传入的是"*",则需要实例化另一个乘法类,这样就不太符合面向对象的开发思想。
通过使用策略模式,可以有效避免上述的问题,而将具体要实例化哪个算法类交给调用方负责。
interface ICompute{Compute(a:number,b:number):number; }class AddComputer1 implements ICompute{public Compute(a:number,b:number):number{return a+b;} }class SubComputer1 implements ICompute{public Compute(a:number,b:number):number{return a-b;} }class ComputeStratge{public compute(icompute:ICompute,a:number,b:number):number{return icompute.Compute(a,b);} }var computestatge=new ComputeStratge(); var result=computestatge.compute(new AddComputer1(),100,200); console.log(result);
欢迎加入QQ群讨论:573336726
转载于:https://www.cnblogs.com/malaoko/p/7603173.html
15-TypeScript策略模式相关推荐
- 15. 星际争霸之php设计模式--策略模式
题记 ============================================================================== 本php设计模式专辑来源于博客(jy ...
- Golang设计模式——15策略模式
策略模式 优点 缺点 场景 代码 其他设计模式 策略模式 优点 策略模式提供了对"开闭原则"的完美支持,用户可以在不修改原有系统的基础上选择算法或行为,也可以灵活地-增加新的算法或 ...
- java(15)-策略模式(Strategy Pattern)
一.了解(都是跟张龙老师的视频学的): 1.策略模式:a)封装变化的概念.b) 编程中使用接口,而不是对接口的实现.这是面向接口的编程. 2.策略模式的定义: a)定义一组算法,将每个算法都封装起来, ...
- 设计模式之策略模式(Strategy)摘录
23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...
- Java中的策略模式实例教程
策略模式是一种行为模式.用于某一个具体的项目有多个可供选择的算法策略,客户端在其运行时根据不同需求决定使用某一具体算法策略. 策略模式也被称作政策模式.实现过程为,首先定义不同的算法策略,然后客户端把 ...
- C++模式学习------策略模式
当遇到同一个对象有不同的行为,方法,为管理这些方法可使用策略模式. 策略模式就是对算法进行包装,是把使用算法的责任和算法本身分割开来.通常把一个系列的算法包装到一系列的策略类里面,这些类继承一个抽象的 ...
- 这可能是把策略模式讲的最通俗易懂得文章了!
点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 本文转载自微信公众号:漫话编程  周末无事,窝在家里面看<权力的游戏第八季>,看的 ...
- 实践:使用Spring 原生注解来快速实现 策略模式 + 工厂模式
作者:Richard_Yi juejin.im/post/5db0e910518825648f2ef355 前言 这阵子在做项目组重构的工作,工作中的一部分就是就目前代码库中与企业交互的逻辑抽离出来, ...
- 两种语言实现设计模式(C++和Java)(三:策略模式)
策略模式是指定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换.本模式使得算法可独立于使用它的客户而变化.也就是说这些算法所完成的功能一样,对外的接口一样,只是各自实现上存在差异.用策略模式 ...
- Head First设计模式之策略模式(Strategy)
小白将从以下几点对策略模式进行解析 策略模式引入的设计技巧 策略模式的定义及类图 策略模式的优缺点 策略模式的应用场景 策略模式实战 总结 零.策略模式引入的技巧 先过一遍,放入脑海中,等看完后面所有 ...
最新文章
- java linux 时区_java同步/设置Linux系统时间
- unslider的用法详解
- ie php脚本引擎,使用php重新实现PHP脚本引擎内置函数
- WebService入门教程_HTTP协议学习
- 【nginx配置】 proxy_pass反向代理配置中url后面加不加/的说明
- 语义分割和实例分割以及目标检测的区别(转)
- 【转载保存】java 23种设计模式 深入理解
- ubutnu16.04下Intel Realsense D435驱动的安装和python环境的配置
- java开发环境怎样选择_怎样搭建Java开发环境?
- 苹果隐私追踪新规发布后 Android广告支出涨10%
- python由编译器将源程序转化为机器语言_python初识
- VS2008超有用的快捷键
- JSK-12 最后一个单词的长度【入门】
- 242种颜色样式、中英文名称及十六进制的值
- 64位Win10 Modelsim破解及证书LICENSE.TXT无法生成解决方法
- 山东网通和电信的DNS
- 未能找到使用主机名称的服务器,未能找到使用指定主机名称的服务器
- 交友 它能让霍金有一口伦敦腔,也在帮聋哑人重新开口说话
- [gmoj 3505]【NOIP2013模拟11.4A组】积木
- windows笔记本查看电池损耗