对象间”发送消息“该怎么理解,有代码更好~~

解决方案 »

  1.   

    对于这个问题,我个人是这样理解的:消息并不是属于某个编程语言的特性,也不是某种编程方法。而是一种思想、一种哲学。
    例如string a = Obj.getValue(b)
    我们在传统意义上,理解为“调用”Obj对象的getValue方法。
    而从消息的角度上,理解为向Obj对象发送了一个名为“getValue”的消息,附带有参数b,而Obj收到getValue消息后,取出参数b,进行处理并给出一个响应(就理解为回答),而我们把收到的响应赋值给a了。从这个角度来看,就可以把“程序”的范围扩展得更广。比如我们可以把http服务器看作一个对象,那么get和post就是“消息”,而“get消息”支持一个参数url,“post消息”支持url和postData两个参数,而html页面就是响应。于是,对象的方法我们可以理解为此对象可以“理解”的消息有哪些,而接口可以理解为定义消息的“协议”。而函数调用只不过是消息传递的方式之一,你可以通过Ajax发送消息给网络上的WebService,也可以通过命令行参数与管道来发送消息给其他应用程序,甚至可以通过USB口发送消息给打印机或从游戏手柄接受消息(没错,从“万物皆对象的角度”它也是对象)当然,这些只是我自己个人的一些理解,如有谬误望各位前辈轻拍
      

  2.   

    可以看下Observer(观察者)模式的代码