命令者模式:將請求封裝成物件
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'andy'
"""大話設計模式
設計模式——命令模式
命令模式(command pattern):將請求封裝成物件,從而使可用不同的請求對客戶進行引數化;對請求排隊或記錄請求日誌,以及支援可撤消的操作.
"""# 命令類
class command(object):
def __init__(self, receiver):
self.receiver = receiver
def execute(self):
pass
#將物件和動作繫結
class concretecommand(command):
def execute(self):
self.receiver.action()
# 命令執行者
class invoker(object):
def __init__(self):
self.command = ''
def setcommand(self,command):
self.command = command
def excutecommand(self):
self.command.execute()
# 定義命令的動作
class receiver(object):
def action(self):
print "執行請求"
if __name__ == "__main__":
r = receiver() #建立需要執行的命令
c = concretecommand(r) # 繫結要執行的命令
i = invoker() # 建立命令執行者
i.setcommand(c) # 接受命令
i.excutecommand() # 執行命令
命令者模式
定義 將乙個請求封裝成乙個物件,從而讓你使用不同的請求把客戶端引數化,對請求排隊或者記錄請求日誌,可以提供命令的撤銷和恢復功能。型別 行為類模式 類圖 命令模式的結構 顧名思義,命令模式就是對命令的封裝,首先來看一下命令模式類圖中的基本結構 command類 是乙個抽象類,類中對需要執行的命令進行宣...
命令模式和裝飾者模式的區別
所謂的設計模式,很多都是針對物件導向程式設計的 即符合物件導向的三大特性六大原則 也就是針對不同業務場景需求,需要設計一些比較好的類關係圖,其中包括繼承和組合,繼承包括實現介面 like a 和繼承抽象類 is a 及繼承子類 is a 三種方式 組合方式 has a 一般通過構造方法或者sette...
中介者模式(調停者模式)
中介者模式 調停者模式 abstract class abstractcolleague public function setnumber number,abstractmediator am null class colleaguea extends abstractcolleague this...