模式讲解 飞秋官网
飛秋官網:http://www.freeeim.com/
(1)命令模式的關鍵
命令模式的關鍵之處就是把請求封裝成為對象,也就是命令對象,并定義了統一的執行操作的接口,這個命令對象可以被存儲、轉發、記錄、處理、撤銷等,整個命令模式都是圍繞這個對象在進行。
飛秋官網
(2)命令模式的組裝和調用
在命令模式中經常會有一個命令的組裝者,用它來維護命令的“虛”實現和真實實現之間的關系。如果是超級智能的命令,也就是說命令對象自己完全實現好了,不需要接收者,那就是命令模式的退化,不需要接收者,自然也不需要組裝者了。
而真正的用戶就是具體化請求的內容,然后提交請求進行觸發就好了。真正的用戶會通過invoker來觸發命令。
在實際開發過程中,Client和Invoker可以融合在一起,由客戶在使用命令模式的時候,先進行命令對象和接收者的組裝,組裝完成后,就可以調用命令執行請求。
(3)命令模式的接收者
接收者可以是任意的類,對它沒有什么特殊要求,這個對象知道如何真正執行命令的操作,執行時是從command的實現類里面轉調過來。
一個接收者對象可以處理多個命令,接收者和命令之間沒有約定的對應關系。接收者提供的方法個數、名稱、功能和命令中的可以不一樣,只要能夠通過調用接收者的方法來實現命令對應的功能就可以了。
(4)智能命令
在標準的命令模式里面,命令的實現類是沒有真正實現命令要求的功能的,真正執行命令的功能的是接收者。
如果命令的實現對象比較智能,它自己就能真實地實現命令要求的功能,而不再需要調用接收者,那么這種情況就稱為智能命令。
也可以有半智能的命令,命令對象知道部分實現,其它的還是需要調用接收者來完成,也就是說命令的功能由命令對象和接收者共同來完成。
(5)發起請求的對象和真正實現的對象是解耦飛秋官網的
請求究竟由誰處理,如何處理,發起請求的對象是不知道的,也就是發起請求的對象和真正實現的對象是解耦的。發起請求的對象只管發出命令,其它的就不管了。
總結
- 上一篇: 用记事本制表方法
- 下一篇: 『震惊』秘密报告披露转基因食品危害