第十九章 Cach 設計模式 命令模式

2021-10-05 13:14:12 字數 1299 閱讀 6894

思考

命令模式將每個請求封裝成乙個物件,從而讓使用者使用不同的請求把客戶端引數化;將請求進行排隊或者記錄請求日誌,以及支援可撤銷操作。

設計模式通病,大量衍生類的建立。

去燒烤店吃燒烤,點烤雞翅和羊肉串給廚房下命令。

class pha.yx.design.command.barbecuer extends %registeredobject

method bakechickenwing()

}

class pha.yx.design.command.command extends %registeredobject

method excutecommand() [ abstract ]

}

class pha.yx.design.command.bakemuttoncommand extends command

method excutecommand()

}

class pha.yx.design.command.bakechickenwingcommand extends command

method excutecommand()

}

class pha.yx.design.command.waiter extends %registeredobject

method cancelorder(command as command)

method notify()

}

/// d ##class(pha.yx.design.program).command() 

classmethod command()

增加訂單bakemuttoncommand時間2020-04-07 09:43:56

增加訂單bakemuttoncommand時間2020-04-07 09:43:56

取消訂單bakemuttoncommand時間2020-04-07 09:43:56

增加訂單bakechickenwingcommand時間2020-04-07 09:43:56

烤羊肉串!

烤羊肉串!

烤雞翅!

電視機有 聲音增大,減小,節目增加,減少,四個命令。客戶端呼叫這四個命令。感興趣的同學寫完可以發我。

第十九章 事務

redis的事務是指將多個命令請求打包,一次性地,按順序執行的機制。通過multi exec watch等命令實現事務功能。19.1.1 事務的開始 multi命令的執行代表了乙個事務的開始,會將執行該命令的客戶端由非事務狀態切換成事務狀態 在客戶端狀態的flags屬性中開啟redis multi標...

第十九章 19 1 1節練習

練習19.1 使用malloc編寫你自己的operator new size t 函式,使用free編寫operator delete void 函式。解答 這個也就參考書中實現吧。不過這裡我更傾向於使用模板來實現,不把new的引數寫死。練習19.2 預設情況下,allocator類使用operat...

第十九章 19 2 1節練習

練習19.3 已知存在如下的類繼承體系,其中每個類分別定義了乙個公有的預設建構函式和乙個虛析構函式 class a class b public a class c public b class d public b,public a 下面的哪個dynamic cast將失敗?a a pa new ...