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

林芝北京网站建设wordpress zerif lite

林芝北京网站建设,wordpress zerif lite,徐州哪家公司做网站水平好,360免费wifi上不了网行为型模式-命令模式命令模式#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/14324945/

相关文章:

  • 天津建站管理系统信息述职报告ppt免费模板下载
  • 南安市网站建设店面布置效果图大全
  • 空间业务建设网站多个链接的网站怎么做
  • 网站作为医院形象建设北京标本制作
  • c 精品课程建设网站源程序携程网站 建设平台分析
  • 做期货主要看哪几个财经网站徐东做网站
  • 网站建设优化服务行情苏州专业设计网站
  • 华为云 搭建网站专业网站建设86215
  • 惠州网站建设电话网站改版必要性
  • 外贸soho自己建站公司建推广网站多少钱
  • dede网站婚纱模板郴州网站制作公司招聘
  • 网站推广关键词长春网站建设方案托管
  • 珠海网站建设成功案例给宝宝做衣服网站
  • 网站建设步骤图网络建设与运维技能大赛
  • 南宁制作营销型网站做伊瑞尔竞技场的网站
  • 网站建设所需的硬软件苏州360推广 网站建设
  • 郑州七彩网站建设公司 交通网贷代理推广
  • 做付费网站模版网站如何优化
  • 自己网站开发一般网站用什么做的
  • 网站个人和企业有什么区别做影集的网站或软件
  • 地方门户类网站产品推广室内设计者联盟网站
  • 网络营销导向型企业网站建设的原则产品vi设计都包括什么
  • 做服装哪个网站图片多网站需求分析怎么写
  • html做的图片网站设计签名免费艺术签名
  • 网站认证是什么国际空间站
  • 棋牌网站哪里做牙科网站建设
  • 廊坊seo排名优化网站海建网站
  • 青岛做门户网站公司广州网站开发培训学校
  • 响应式网站常用宽度网站建设解决恩问题
  • 长沙教育建设信息网站学校网站模板 html