当前位置: 首页 > 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/14278829/

相关文章:

  • seo站长教程手机网站规划
  • 网站素材图片虚拟主机加RDS安装wordpress
  • 检测网站是否做了301自己创建外贸公司
  • 3免费做网站鹿邑建设局官方网站
  • 做的网站显示图片很慢遵义网站建设公司招聘
  • 公司网站后台如何上传视频wordpress加载变慢
  • 东莞社保官方网站Wordpress火车头采集标题前乱码
  • 唐山市城乡建设网站多少钱一个
  • 吉林市建设工程档案馆网站品牌设计网站大全
  • 新吁网站建设哈尔滨网站设计培训班
  • 做网站时联系我们制作模板个人网站的留言板数据库怎么做
  • 湖南网站优化推广合肥网站建设模板
  • 网站开发专业优势合肥网站忧化
  • 组建一个网站开发团队需要多少钱wordpress wp_head()优化
  • 做搬家服务网站问卷调查结果多模室内设计网
  • 广东品牌网站建设报价表电商设计行业前景
  • 广州达美网站建设wordpress 计数js版
  • 公司网站建设开发济南兴田德润简介图片创业网站建设政策
  • 做面食专业网站wordpress 多媒体管理
  • 哪些网站做推广效果好东莞网站制作的方案
  • 数据库与网站建设的关系搜索引擎营销的模式有哪些
  • 泰兴做网站电话重庆新闻头条最新消息
  • 建筑公司网站网站卢松松外链工具
  • 用帝国做网站好做吗产品结构设计
  • 网站开发的意义和目的开发新客户的十大渠道
  • 做装修的网站怎么做好网络服务单位招标
  • 做网站那个公司比较好在哪里可以做企业官网
  • o2o苗木网站建设济宁哪里做网站
  • 中企动力网站建设方案页面跳转英文
  • 当当网网站建设步骤上海远东建筑设计院