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

长安响应式网站建设海外网站制作

长安响应式网站建设,海外网站制作,专业团队张伟图片,宜昌市工程造价信息网行为型模式-命令模式命令模式#xff08;Command#xff09;解决命令执行问题描述适用环境优点#xff1a;缺点#xff1a;违反原则#xff1a;代码实现命令模式#xff08;Command#xff09; 解决命令执行问题 描述 将一个请求封装为一个对象#xff0c;并定义该对… 行为型模式-命令模式命令模式Command解决命令执行问题描述适用环境优点缺点违反原则代码实现命令模式Command 解决命令执行问题 描述 将一个请求封装为一个对象并定义该对象的执行方法从而使得请求能够被延迟、队列化、记录和撤销。这种方式可以提高代码的重用性和可维护性同时也能够支持事务性操作。 适用环境 当需要将请求封装成对象时使用当需要支持撤销操作时使用。 优点 可以将请求的发送者和接收者解耦提高系统的灵活性可以很容易地扩展新的命令。 缺点 对于过多的命令会导致系统代码变得复杂命令模式可能会导致系统的性能下降。 违反原则 开放-封闭原则如果需要增加新的命令则需要修改所有的命令类违反该原则。 代码实现 书店订单系统当客户提交订单时需要将订单信息保存下来。 现在使用传统的方式来处理订单 class Book:def __init__(self, name, price):self.name nameself.price priceclass Order:def __init__(self):self.order_items []def add_item(self, item):self.order_items.append(item)def place_order(self):total_price sum([item.price for item in self.order_items])print(f订单总金额为{total_price}元)book1 Book(Python编程从入门到实践, 68.0) book2 Book(流畅的Python, 79.0) order Order() order.add_item(book1) order.add_item(book2) order.place_order() 以上代码存在以下问题 对订单进行其他操作时需要修改原有的代码。不同的操作编写不同的方法导致代码冗余。 可以通过命令模式来解决这个问题具体实现如下 # 创建一个抽象类Command定义一个抽象方法execute() # 具体子类需要实现该方法并通过调用Receiver的相关方法来执行具体操作 from abc import ABC, abstractmethodclass Command(ABC):abstractmethoddef execute(self):pass# 创建一个具体的Command类用于保存Order信息class OrderCommand(Command):def __init__(self, order):self.order orderdef execute(self):total_price sum([item.price for item in self.order.order_items])print(f订单总金额为{total_price}元)# 创建一个Receiver类用于实现具体操作class Order:def __init__(self):self.order_items []def add_item(self, item):self.order_items.append(item)def remove_item(self, item):self.order_items.remove(item)def place_order(self):order_command OrderCommand(self)order_command.execute()book1 Book(Python编程从入门到实践, 68.0) book2 Book(流畅的Python, 79.0) order Order() order.add_item(book1) order.add_item(book2) order.place_order()
http://www.hkea.cn/news/14563188/

相关文章:

  • 怎样把网站打包做百度小程序住房和城乡建设局网站
  • 博客网站做外贸可以吗用vs2015做网站教程
  • 后台网站怎么做视频汕头网
  • 佛山网站建设设计公司哪家好行业门户网站建设
  • 网站设计网站浏览wordpress返回首页一直加载
  • 修改公司网站vps里面网站php页面无法打开
  • 小米路由做网站服务器大型网站建设多少钱
  • 佛山网站建设开发团队软件外包平台 接单
  • 长春seo建站杭州公司官方网站制作
  • 男生女生在床上做的那个网站网页美工素材
  • 青海公路工程建设市场信用信息服务网站网站集约化建设项目内容
  • 网站备案与不备案的区别网站建设要什么软件
  • wordpress插件整站搬家360浏览器免费看视频
  • 苏州论坛型网站建设网站建设从零到精通.pdf
  • 廊坊做网站厂商定制织梦个人网站模板
  • 涵江网站建设新人如何做自己的网站
  • 网站建设尾款收取建设银行网站查询工资
  • 松桃县住房和城乡建设局网站免费考研论坛
  • 山东省威海市文登区建设局网站百度公司简介
  • 如何查看网站在哪里做的阿里云可以做网站
  • 顺德手机网站建设我想学做网站
  • 建设心理网站wordpress php推送示例
  • 来客网站建设wordpress域名
  • 制作介绍的网站深圳大型网站建设
  • 网站导航怎么做的企业网站用视频做首页
  • 乾县住房和城乡建设局网站实体店引流推广方法
  • 四川重庆是哪个省网站运营和seo的区别
  • 温州网站制作套餐上海最新新闻事件今天国内
  • 建设门户网站需要注意什么意思做网站推广那家好
  • 做网页兼职的网站品牌网站怎么建设