统一对象消息编程详解-——对象要有名字

      万物都有名字,通过名字来标识对方、传达信息。人有名字,物也有名字,“小王的汽车”、“小张的汽车” 就是车的名字,通过名字我们知道它们指向不同的事物,虽然车也许是一模一样的。但对于程序设计里面的数据、对象,我们从来没有想过给名字,这导致我们在对象互动中无比的麻烦。

         例如 对象A构建了一个对象B,希望对象C、D、E都使用B,那么A就要把B的指针作为方法参数硬生生的传给CDE,或者CDE到A取B,这无形导致了对象交流的麻烦,为什么,因为对象没有名字,我们必须来传递对象的实体!

       消息对象编程给对象一个名字,这样我们通过名字就可以方便的使用而无需多关注实体,如果CDE使用B,给B起名“ happyboy”,那么CD使用B就是

    C.putMsg("happyboy",cmsg);

    D..putMsg("happyboy",Dmsg),

 一切交流将变得简单。

     现在我发起一个HTTP请求 ,那么在任何地方我发起putMsg(“httpClient” ,msg)就行了。“httpClient”这个名字对应什么实体、如何实现的我不用操心。现在“httpClient”对应的是OKhttp类,某天我发现hahaHttp更好用,那么将“httpClient”名字指向hahaHttp就可以了,所有使用的地方不用任何改变。

名字改变一切!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值