Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8139360
  • 博文数量: 594
  • 博客积分: 13065
  • 博客等级: 上将
  • 技术积分: 10324
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-26 16:44
个人简介

推荐: blog.csdn.net/aquester https://github.com/eyjian https://www.cnblogs.com/aquester http://blog.chinaunix.net/uid/20682147.html

文章分类

全部博文(594)

分类: 架构设计与优化

2013-04-12 11:32:54

.pdf
    
抽象是架构师最基础最重要的能力之一。一名程序员要成长为架构师,首先要理解接口的重要性。但是对一个没有经验的人来说,他心中可能无法体会“接口”这两个字的含义。

接口就是规范,接口就是协议。为了便于理解,我们可以把它和生活中的事务类比起来,这样就非常容易理解了。

假设在工作中,两个不同部门间有业务来往,如果两个部门间没有定义任何规范,全凭双方的接口人自个做主沟通。这就埋下了很大隐患,一旦其中有某个人变动(如离职),则会严重影响两个部门间的活动。原因就是,这两个部门间的活动太依赖于具体的个人了。

怎么去解决这个问题了?方法非常简单,就是定义好双方的规范或协议,让双方接口人按钮规范来沟通,这样不管人员如何的变动,新人都可以很快的去接手。

规范和协议本身是没有用的,它需要后面的人去执行。

软件开发同样如此,去了解耦合,需要定义规范和和协议。在OO中,接口就是种协议,它屏蔽了可能发生的变化

只要协议不变,和平就在。因此定义一个具有一定前瞻性的协议是架构师的职责,著名的TCP/IP协议几十年来未有变化,是一个非常好的案例ProtocolBufferThrift等,为了应对协议变化,增加了optionalrequired两个性特。

有关如何设置具有前瞻性的接口,不在本文探讨范畴之内,这个需要一定的经验积累。

接口就是协议,就是规范,就是制度,它好比生活中的法制;类是角色,好比生活中的人。
有不少人说OO不好,但就我的感觉来说:觉得一切很自然,优雅,没有别扭的地方,如同生活的写照。

阅读(4305) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~