設計模式

1. command pattern

The Command Pattern encapsulates a request as an object, thereby letting you parameterize other objects with different requests, queue or log requests, and support undoable operations.

命令模式將“請求”封裝成“對象”, 這樣就能讓你在其他的對象中使用這些請求,也能將這些請求放到隊列中,也能對這些請求進行日誌記錄, 也支持撤銷的操作。

如果不把“請求”封裝成“對象”, 只能是寫相關的代碼處理當前的請求(代碼和請求是緊耦合的)。

再仔細想下, 對多個不同的請求來說, 接收請求是一樣的,將請求封裝成對象可能就不一樣了(不同的請求所包含的參數可能是不一樣的),真正處理請求也是不一樣的,所以“不一樣的地方”可以通過類的多態來搞定,這樣的代碼是可擴展的(對於新增的請求,我只需要增減相應的子類,並覆蓋多態方法就可以搞定)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章