首页 / 知识
策略模式如何工作?
2023-04-17 02:41:00
How does the Strategy Pattern work?它是如何工作的,用途是什么,何时应使用它? 让我们以简单的方式来说明策略模式:
您有一个带有方法
现在,您可能想在程序执行时即时更改
有几种方法可以进行此模拟:使用条件语句和标志变量是一种方法。策略模式是另一种:将
如果要更改汽车的性能,则只需更改电动机即可。 (在程序中比在现实生活中容易,对吗?;-)) 如果您有很多复杂的状态,这将非常有用:您可以更轻松地进行更改和维护。 问题 策略模式用于解决可能(或预见到可能)通过不同策略实施或解决的问题,并且这些问题具有明确定义的界面。每种策略本身都是完全有效的,其中某些策略在某些情况下更可取,从而允许应用程序在运行时在它们之间进行切换。 代码示例
密切相关的模式是"委托"模式。在这两种情况下,某些工作都会传递给其他组件。如果我正确理解,则这些模式之间的区别是这样(如果我错了,请纠正我):
有人知道其他区别吗? 直接来自Strategy Pattern Wikipedia文章:
要添加到已经精妙的答案中:策略模式与将一个(或多个)函数传递给另一个函数有很大的相似性。在该策略中,这是通过将所述函数包装在对象中,然后传递对象来完成的。某些语言可以直接传递函数,因此它们根本不需要模式。但是其他语言不能传递函数,但是可以传递对象。该模式将适用。 尤其是在类似Java的语言中,您会发现该语言的类型库非常小,并且扩展它的唯一方法是创建对象。因此,大多数解决问题的方法都是提出一种模式。一种组合对象以实现特定目标的方法。动物园类型丰富的语言通常具有解决问题的简单方法-但是类型丰富也意味着您必须花费更多的时间来学习类型系统。具有动态打字规则的语言通常也可以轻松地解决问题。 |
最新内容
相关内容
linux执行多次命令?
linux执行多次命令?,系统,信息,标准,工作,情况,命令,周期性,服务,代码,时间,linux系统能把很多命令一起执行,然后结果输出一个文件吗?就是scrilinux并行化执行命令?
linux并行化执行命令?,系统,工具,信息,命令,名称,网络,管理,首页,服务,暂停,Linux多台主机批量执行命令1、执行命令(记得先对doCommand.s h增加如何执行linux命令?
如何执行linux命令?,单位,系统,网络,信息,权威,命令,文件,音乐,目录,选项,mv什么意思呢?1、MV就是音乐短片(Music Video),是指与音乐(通常大部分是linux打断执行的命令?
linux打断执行的命令?,系统,状态,网站,标准,通用,客服,人员,名字,网络,暂停,Linux停止命令继续执行的方法是什么它只是在进程中维持挂起的状态linux命令没执行完?
linux命令没执行完?,系统,设备,工具,情况,密码,状态,电脑,管理,材料,服务,Linux:写的脚本执行过程中为什么会有cp未复制完,或者tar未解压完的shell中执行linux命令?
shell中执行linux命令?,系统,名称,环境,管理,工作,代码,技术,软件,经理,基础,it运维需要学什么?1、单纯学编程语言本身,对于一些英文符号,需要记linux打印命令执行?
linux打印命令执行?,信息,系统,工具,服务,命令,发行,基础,位置,设备,时间,怎么使用CMD里面的print命令?1、print 打印命令用法:PRINT [/D:devicelinux执行两次命令?
linux执行两次命令?,系统,信息,连续,名称,命令,初级,首页,工具,管理,终端,linux怎么执行命令linux如何进入命令行?我们一起来了解一下吧。打开llinux命令执行安装?
linux命令执行安装?,软件,系统,管理,网站,官网,市场,中心,最新,灵活,工作,如何定制安装linux软件?linux安装软件的三种方式如下:源代码编译安装linux执行一条新命令?
linux执行一条新命令?,系统,工作,命令,管理,网络,服务,信息,目录,路径,脚本,Linux下必须知道的11个网络命令netstat -r:打印路由表。路由表保存监控linux执行命令?
监控linux执行命令?,系统,情况,数据,实时,网络,信息,状态,时间,设备,命令,如何监视Linux系统资源的使用情况使用top或htop命令 top或htop都可linux命令卡死不执行?
linux命令卡死不执行?,系统,设备,数据,密码,工具,情况,软件,环境,分析,命令,linux命令出现卡机,很多命令输入后不反应1、可能是你shell的环境