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

网站建设朋友圈怎么写品牌建设的建议

网站建设朋友圈怎么写,品牌建设的建议,域名注册网站哪个好,wordpress电影网教程一、简介 命令模式:将请求(命令)封装为一个对象,这样可以使用不同的请求参数化其他对象(将不同请求依赖注入到其他对象),并且能够支持请求(命令)的排队执行、记录日志、…

一、简介

命令模式:将请求(命令)封装为一个对象,这样可以使用不同的请求参数化其他对象(将不同请求依赖注入到其他对象),并且能够支持请求(命令)的排队执行、记录日志、撤销等(附加控制)功能。

二、优点

  • 动作封装
  • 解耦发送者跟接受者
  • 可扩展性
  • 简化和集中错误处理
  • 支持撤销和重做功能
  • 易于实现组合命令

三、UML类图

请添加图片描述

四、案例

家里有很多房间,有卧室和厨房等,用一套灯光管理系统同一管理所有灯的开关。

package mainimport "fmt"type 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.yayakq.cn/news/943239/

相关文章:

  • 淮南市城乡建设档案馆网站双wordpress自动同步文章
  • 网站项目建设计划电商运营方案计划书
  • 长沙 外贸网站建设公司价格长沙app开发
  • 虚拟主机建设网站绑定域名wordpress生成xml地图
  • 做网站怎么选服务器wordpress 美拍插件
  • 成都专业网站制作网站苏州高端网站
  • 网站做301东铁匠营网站建设
  • 加速百度对网站文章的收录网站备案就是合法的
  • 北京响应式网站设计广东深圳公司
  • 农产品网站开发自己做的网站可以用于百度推广吗
  • 网站开发为什么需要团队完成网站做任务领q币
  • 网站建设常用的编程语言网站地图的形式
  • 企业网站做seo的优势温岭 网站建设
  • 温室网站建设滁州公司做网站
  • APP开发网站建设哪家好网站建设和维护怎么学
  • 哪些网站可以做养殖的广告太原建站的模板
  • 网络商务网站seo优化是什么意思
  • 网站域名销售公司做网站走什么费
  • 桂林技术交流站网站学什么
  • 内部网站建设计划东莞建设网站的位置
  • 石家庄百度推广家庄网站建设应急管理部
  • WordPress网站根目录有哪些营销智库网站
  • 太原网站制作哪里便宜企业推广策略
  • 网站项目设计与制作优化系统功能
  • 做网站的时候想要满屏简述电子政务网站设计的技术
  • 网站做行测题租远程服务器
  • 网站建设如何使图片翻转重庆市建设工程信息网官网入口
  • 大连网站建设公司wordpress sqll
  • 写作网站大全营销模板WordPress
  • 各类网站厦门网站排名优化费用