当前位置: 首页 > news >正文

怎样学网站开发北京网站建设首选小峰

怎样学网站开发,北京网站建设首选小峰,海洋网站建设公司,wordpress外部调用插件一、简介 命令模式#xff1a;将请求#xff08;命令#xff09;封装为一个对象#xff0c;这样可以使用不同的请求参数化其他对象#xff08;将不同请求依赖注入到其他对象#xff09;#xff0c;并且能够支持请求#xff08;命令#xff09;的排队执行、记录日志、…一、简介 命令模式将请求命令封装为一个对象这样可以使用不同的请求参数化其他对象将不同请求依赖注入到其他对象并且能够支持请求命令的排队执行、记录日志、撤销等附加控制功能。 二、优点 动作封装解耦发送者跟接受者可扩展性简化和集中错误处理支持撤销和重做功能易于实现组合命令 三、UML类图 四、案例 家里有很多房间有卧室和厨房等用一套灯光管理系统同一管理所有灯的开关。 package mainimport fmttype Light interface {On()Off() }type KitchenLight struct { }func NewKitchenLight() *KitchenLight {return KitchenLight{} }func (*KitchenLight) On() {fmt.Println(Kitchen light is on) }func (*KitchenLight) Off() {fmt.Println(Kitchen light is off) }type LivingRoomLight struct { }func NewLivingRoomLight() *LivingRoomLight {return LivingRoomLight{} }func (*LivingRoomLight) On() {fmt.Println(Living room light is on) }func (*LivingRoomLight) Off() {fmt.Println(Living room light is off) }type Command interface {Execute()Undo() }type LightOnCommand struct {Lights []Light }func NewLightOnCommand(lights []Light) LightOnCommand {return LightOnCommand{Lights: lights} }func (loc *LightOnCommand) Execute() {for _, light : range loc.Lights {light.On()} }func (loc *LightOnCommand) Undo() {for _, light : range loc.Lights {light.Off()} }type LightOffCommand struct {Lights []Light }func NewLightOffCommand(lights []Light) LightOffCommand {return LightOffCommand{Lights: lights} }func (loc *LightOffCommand) Execute() {for _, light : range loc.Lights {light.Off()} }func (loc *LightOffCommand) Undo() {for _, light : range loc.Lights {light.On()} }func main() {kitchenLight : NewKitchenLight()livingRoomLight : NewLivingRoomLight()lightOnCommand : NewLightOnCommand([]Light{kitchenLight, livingRoomLight})lightOnCommand.Execute()lightOnCommand.Undo()lightOffCommand : NewLightOffCommand([]Light{kitchenLight, livingRoomLight})lightOffCommand.Execute()lightOffCommand.Undo() }五、对比 命令模式与策略模式的区别在策略模式中不同的策略具有相同的目的、不同的实现、互相之间可以替换。比如BubbleSort、SelectionSort都是为了实现排序的只不过一个是用冒泡排序算法来实现的另一个是用选择排序算法来实现的。而在命令模式中不同的命令具有不同的目的对应不同的处理逻辑并且互相之间不可替换。
http://www.zqtcl.cn/news/999533/

相关文章:

  • 自助建站基础工作主要包括()上海网站关键词排名
  • 中国住房和城乡建设部网站安全小明seo教程
  • 网站基本常识wordpress怎么使用插件
  • 无锡高端网站制作广州装修公司排名
  • 做h5商城网站pc网站建设哪
  • 顺企网萍乡网站建设自己如何开自己的商城
  • 怎样做当地网站推广平顶山车祸最新新闻事件
  • 重庆网站制作1000客户营销
  • 视频播放网站 模板潍坊网站建设首荐创美网络
  • 网站静态页面模板网页设计案例代码
  • 网站开发的ie兼容做到9网站开发具体问题
  • 企业建站业务还能做吗园林景观网站模板
  • 建筑招聘网站有哪些电商商城app制作开发
  • 做网站开发 用什么在进行网站设计时
  • 21dove谁做的的网站新媒体营销论文
  • 做电影网站配什么公众号网站新闻发布系统模板
  • 网站风格发展趋势wordpress悬浮音乐插件
  • 做网站前期费用新注册公司网站建设
  • 建站平台在线提交表格功能检测站点是否使用wordpress
  • 谁能做网站开发免费软件看电视剧
  • 深圳的网站建设网站建设网页设计做网站
  • 广州网站建设网页设计贵阳网站建设宏思锐达
  • 洪栾单页网站建设象山县城乡和住房建设局网站
  • 网站留言发送到邮箱潍坊商城网站建设
  • 四川省的住房和城乡建设厅网站首页产品设计是冷门专业吗
  • 北仑建设银行网站网站设计 导航条
  • 如何做网站宣传片单位做网站费用怎么记账
  • 西安网站建设现状购物app开发
  • 2019年做网站还有前景吗手机制作表格教程
  • 校园网站html模板南昌网站建设优化