浏览 1810 次
锁定老帖子 主题:由XX想到的.
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-03-11
谁来定义接口. 接口就是规则,职责在于描述外部表现,而非内部实现. 那么接口应该由谁来定义? 锅炉厂生产锅炉, 客户在使用过程当中,由于没有全身心的关注锅炉,导致了一些事故的发生. 客户提出了这个问题,要求锅炉上加上报警装置, 锅炉厂本身不生产 报警器的, A:锅炉厂就在锅炉上留下安装报警器的接口,然后找来生产报警器的工厂,让报警器厂按照留好的接口生产出合适的报警来. 这里锅炉厂相当于客户方,报警器厂相当于服务提供方, 接口的定义是由客户方制定,然后交由服务方实现. B:锅炉厂到市场上去寻找比较满意的报警器,买回来后,按照报警器的说明规格(想要使用此报警器,必须具备什么什么),在锅炉上安装上报警器. 这里锅炉厂依然是客户方,报警器厂依然是服务提供方,但是接口的制定者变换了, 现再接口的定义是由服务方制定. 接口定义的时机. 预先定义接口,然后交由实现方实现. 这个很合适由客户方提出的规范,然后交由软件来实现规范需求. 已有实现的成品,从成品上制定规范. 这是应该是一流公司的追求吧. SUN公司发布的个规范,然后由其它厂商实现. 当Spring,Hibernate大行其道时, EJB3的规范出来了,JPA的规范也出来了. (重构到接口吗?) 有效的作法:有经验,有预见性,能够首先制定出接口来,当变化真的来临,就可以抵抗住变化因素带来的影响或降低影响. 当没有经验的时候,我们预见不到未来变化的情况,我们只能从实际出发,然后等待第一次变化的来临,这次变化会给我们带来两方面. 一.它会摧残系统,需要你对系统修改,这往往是痛苦的事情. 二.实在应该感谢它,正是它的到来,你才有充分的理由去重构系统,使得它能抵抗住以后的 变化. 第二次变化的来临应该是检验成果的时候了.如果你的痛苦感明显比第一次变化来得轻,那么说明你是一个合格的.如果你的痛苦感比第一次更深 的话,那只能说明你是不合格的,此时如果你还意识不到的话,那以后的变化只会让你痛不欲生. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |