接口与对象之间的关系

接口即对象之间的关系。

接口归根结底不是真实的存在,所以基于接口编程所缔结起来的这个网络实际上就是对象之间的关系。

所以接口可以看成是对象关系的定义。也就是说,当我们在定义接口的时候,其实就是在定义关系。接口就像个注册表,所有的对象都注册在上面。一个对象想用任何服务,按着这张表按图索骥就能够找到它想要的服务。这个就像web service的UDDI,所有的服务都挂在UDDI后面。UDDI就是接口的定义。

提取这个抽象层次的好处是职能有了一个落脚的地方。我们做需求分析按职能区分的对象全部可以放在这张网上。先定义这张网,其实对象的实现就已经呼之欲出了。对象实现的目的其实就是在这张网给用起来。因此实现对“抽象”编程而不是对实现编程。实际上对抽象编程就是对职能编程。

对职能编程的好处是解藕。因为职能关系是用户的关系而不是程序员或类的关系。是系统级的关系。所以依赖倒转,对抽象编程(开闭原则),最小知识原则,接口隔离,里氏代换等面向对象编程基本原则其实都是对职能思想的贯彻。尤其是最小知识原则,意思是你最好什么都不知道。因为你知道的即代表你委托的。而你知道得越多就委托得越多,这个对你没好处。

比如一个类可能丢出一百个错,那么如果不封装它的话,它必将把系统拖入状态爆炸。这是一个有效的武器就是给他委派职能,不给他找借口的机会,断绝对它的“了解”,实现最小知识化原则。控制状态大爆炸。

转载于:https://my.oschina.net/digerl/blog/215480

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值