设计模式
文章平均质量分 67
设计模式
神秘大菜狗
这个作者很懒,什么都没留下…
展开
-
观察者模式
特征当一个对象状态改变时,该对象会通知到与之依赖的对象目的一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作详情观察者这里理解为时刻捕捉 状态变化后会对自己产生影响的对象,被捕捉的对象可以称它为被观察者,但这里并不是观察者自己察觉到被观察者的变化,而是被观察者当自身状态变更时主动通知给正在观察它的对象们。打个比方,天要塌了,这时候天主动通知那些高的、壮的人去扛。天怎么知道自己要通知的是高的、壮的而不是矮子呢?一定是他们之间有着某些依赖联系,在这里,实际上就原创 2021-07-12 22:44:49 · 102 阅读 · 0 评论 -
命令模式
特征该模式的特征在于将请求封装为对象,从而将行为请求者与行为施行者解耦出来。目的行为请求和施行分离开,进行类似事务处理,可还原、重做、重现请求。详情假设现有五指棋玩家Actor:class Actor{ void play(int pos_x,int pos_y); void undo();}该玩家有两种行为,下棋和悔棋。通常的操作是对于外界(比如键盘)的输入,玩家做出不同反应,即执行对应的成员方法。void update(int cmd,Actor原创 2021-07-04 16:29:01 · 109 阅读 · 0 评论 -
享元模式
特征复用对象(更准确地说是复用对象的部分属性)目的减少对象数量,减轻内存压力。减少对象创建,性能也有一定提升。详情五指棋游戏,棋盘上有数量大于2的棋子,但种类只有两种,黑子和白子。除了颜色其余参数完全相同(暂时不说坐标),每次落子是否需要创建一个对象呢?至少在该模式下不用。enum COLOR{ C_BLACK = 0, C_WHITE = 1,}class Chess{ Chess(COLOR c,int r = 2); draw();原创 2021-07-06 23:02:40 · 70 阅读 · 0 评论