在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  C#  iOS  Linux/ 關(guān)于命令模式定義的的一些疑惑?

關(guān)于命令模式定義的的一些疑惑?

命令模式定義:

將一個請求封裝為一個對象,從而使你可用不同的請求對客戶進(jìn)行參數(shù)化;
對請求排隊或記錄請求日志,以及支持可撤銷的操作

問題:

  1. 這里的客戶是指?

  2. 用多不同的請求對客戶進(jìn)行參數(shù)化,這里該如何理解,能舉例說明下嗎?

回答
編輯回答
離夢

客戶就是創(chuàng)建調(diào)用組裝你命令模式中的所有類的代碼。
舉個?:
一個GUI界面上面有一個按鈕,這個按鈕可以配置為打開瀏覽器也可以配置為打開文本編輯器。這里我們將打開瀏覽器和打開文本編輯器抽象之后寫成具體命令類,這里瀏覽器和文本編輯器可以理解為接收者,而你的按鈕就是調(diào)用者。
程序的main函數(shù)就是創(chuàng)建一個GUI,創(chuàng)建一個打開瀏覽器對象,創(chuàng)建一個按鈕對象并傳入打開瀏覽器對象,將瀏覽器對象與按鈕對象形成關(guān)聯(lián)關(guān)系。這部分代碼就是客戶端。
不同的請求你可以理解為這里的打開瀏覽器對象和打開文本編輯器對象。通過初始化的時候給按鈕對象傳入不同的對象,那么這個按鈕就具有不同的功能。當(dāng)然通過反射功能,你可以將瀏覽器對象或者文本編輯器對象寫入配置文件。通過反射在運(yùn)行時候給按鈕綁定不同的功能。

2018年9月13日 23:42