命令者模式

2021-08-18 05:18:07 字數 1105 閱讀 8863

命令者模式:將請求封裝成物件

#!/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...