当前位置:网站首页 > 技术博客 > 正文

命令模式的概念



Python 方式:

# Command Pattern with Python Code from abc import abstractmethod,ABCMeta # 创建一个命令接口Order class Order(metaclass=ABCMeta): @abstractmethod def execute(self): pass # 创建一个请求类 class Stock(): _name = "ABC" _quantity = 10 def buy(self): print("Stock [Name : {0}, Quantity: {1}] bought.".format(self._name,self._quantity)) def sell(self): print("Stock [Name : {0}, Quantity: {1}] sold.".format(self._name, self._quantity)) # 创建实现了Order接口的实体类 class BuyStock(Order): _abcStock = None def __init__(self,inStock): self._abcStock = inStock def execute(self): self._abcStock.buy() class SellStock(Order): _abcStock = None def __init__(self,inStock): self._abcStock = inStock def execute(self): self._abcStock.sell() # 创建命令调用类 class Broker(): _orderList = [] def takeOrder(self,inOrder): self._orderList.append(inOrder) def placeOrders(self): for aOrder in self._orderList: aOrder.execute() self._orderList.clear() # 调用输出 if __name__ == '__main__': abcStock = Stock() buyStockOrder = BuyStock(abcStock) sellStockOrder = SellStock(abcStock) broker = Broker() broker.takeOrder(buyStockOrder) broker.takeOrder(sellStockOrder) broker.placeOrders()

版权声明


相关文章:

  • 私库是正品吗2025-09-27 14:01:02
  • c语言fread怎么用2025-09-27 14:01:02
  • opencv的imread函数参数2025-09-27 14:01:02
  • nlp销售说服技巧答案2025-09-27 14:01:02
  • packet tracer交换机2025-09-27 14:01:02
  • java面试项目经验介绍2025-09-27 14:01:02
  • 三态门的功能和主要用途2025-09-27 14:01:02
  • 游戏测试主要测试什么2025-09-27 14:01:02
  • 有锁和无锁哪个好2025-09-27 14:01:02
  • js判断一个数组是否有某个元素2025-09-27 14:01:02