为啥对象之间的信息传递是调用对象的方法呢?为啥通知对象或向对象发送消息就是调用被通知对象的方法呢?为啥我通知你就是调用你的方法?
面向对象的终极目标是高度拟人化。
可以观察下,人的五官就是人类的方法,这五官是怎么感知外界的?把五官放到外界就是向外界注册了五官的调用方法或者说是回调函数,等着外界去调用。
当你睁开眼睛就是打开了视觉传感器并向外界注册了一个视觉回调函数或者说方法,外界刺激了你的视觉相当于调用了你视觉的方法,然后你就看到了外界画面——而且你注册的地方就是你眼睛看的地方——可能是你喜欢的人或物也可能是你憎恶的人或物——人强大的地方是眼睛会乱看,因而眼睛注册回调的地方随时会变(走路、偷窥等)——视觉回调是有时效和空间位置的,比如你不看我这篇你就不知道有这篇,你也不会一直盯着看直到天荒地老。
比如听到声音就是外界调用了你听觉的方法,然后你就听到声音了——而且你注册的地方就是你耳朵听的地方,耳朵可以返回你听的方向和音量大小。
所以通知对象就是调用对象提供的方法。
好好品味下