事件的初步认识
事件(Event)是使类或者对象具备通知能力得成员,对象O拥有一个事件E,表示当E发生时,O有能力通知别的对象。这就能看出事件的作用:它可以通过这个事件来通知其他对象,“关心”着这个事件的对象做出响应。
事件模型包含五个部分,举个例子:“网易云”“播放”“我”“emo” 这是两个对象以及两个方法,还有个部分就是“订阅”关系,就是说我只关心网易云播没播放,其他的我可不关心。
游戏开发中大多是用户通过事件来驱动,比如达成了任务条件,对应NPC更新对话框,经验条增加,完成界面的UI弹出。由于这些都属于比较底层的设计,在日常开发中,多数是使用已有事件,很少自己声明事件。由于MVC、MVP等设计模式的规范(我也不懂这是啥,他们这样说了我就复制一下),事件也不能随便声明。
事件的应用
Form类为窗口显示相关
这个例子中事件的响应者与拥有者分开
响应者与拥有者为同一个对象
接下来这种就是应用最广泛,也是最重要得到——事件的响应者包含拥有者
简简单单复制个图