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

郑州网站建设三猫网络怎样才能在百度上发布信息

郑州网站建设三猫网络,怎样才能在百度上发布信息,外贸网站系统,冯耀宗seo课程行为型模式-命令模式命令模式(Command)解决命令执行问题描述适用环境优点:缺点:违反原则:代码实现命令模式(Command) 解决命令执行问题 描述 将一个请求封装为一个对象,并定义该对…

行为型模式-命令模式

    • 命令模式(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()

以上代码存在以下问题:

  1. 对订单进行其他操作时需要修改原有的代码。不同的操作编写不同的方法导致代码冗余。
    可以通过命令模式来解决这个问题,具体实现如下:
# 创建一个抽象类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.dt0577.cn/news/34834.html

相关文章:

  • 该网站想要跳转百度app软文有哪些推广渠道
  • 新冠真的是美国投毒吗久久seo正规吗
  • 大亚湾住房和建设局网站国外免费推广网站有哪些
  • 电商平台营销策划方案seo搜索引擎优化实训
  • 高度重视局门户网站建设网站搜索排名优化价格
  • 剑灵代做装备网站网站推广互联网推广
  • 青海建设工程信息网站网络营销推广工作内容
  • 域名被锁定网站打不开怎么办搜索引擎排名2020
  • 网站只做优化电商运营基础知识
  • 哪些网站上可以做租车百度网站域名注册
  • 网站线框图怎么做二级域名免费分发
  • 国外做电商平台的网站有什么网页模板大全
  • cn域名不建议购买下载优化大师安装桌面
  • 南昌专业网站建设信息百度快速排名培训
  • 网站建设 实例app拉新推广平台
  • 教学网站开发网站建设需要多少钱?
  • 新网站建设都需要哪些抖音广告投放代理商
  • 网站死链接怎么提交岳阳seo
  • 北京做网站一般多少钱信息流优化师工作内容
  • 网页设计网站搭建深圳搜索引擎优化推广便宜
  • 织梦系统怎么做单页网站兰州seo推广
  • 素材网站的下载服务器怎么做seo工资多少
  • 深圳网站制作哪家专业宜昌今日头条新闻
  • 公司网站建设工作通知地推接单正规平台
  • 现在pc网站的标准一般是做多大日照seo优化
  • 白羊女做网站网络营销的四种形式
  • 高密做网站的公司线上销售平台如何推广
  • 专门做网站的公司长沙百度关键词搜索
  • 停车场收费标准seo 百度网盘
  • 网站 收费陕西seo推广