设计模式

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.

命令模式将“请求”封装成“对象”, 这样就能让你在其他的对象中使用这些请求,也能将这些请求放到队列中,也能对这些请求进行日志记录, 也支持撤销的操作。

如果不把“请求”封装成“对象”, 只能是写相关的代码处理当前的请求(代码和请求是紧耦合的)。

再仔细想下, 对多个不同的请求来说, 接收请求是一样的,将请求封装成对象可能就不一样了(不同的请求所包含的参数可能是不一样的),真正处理请求也是不一样的,所以“不一样的地方”可以通过类的多态来搞定,这样的代码是可扩展的(对于新增的请求,我只需要增减相应的子类,并覆盖多态方法就可以搞定)

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