欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

由XX想到的. JPASpringHibernateSUN 

程序员文章站 2022-06-08 21:11:51
...

谁来定义接口.
接口就是规则,职责在于描述外部表现,而非内部实现. 那么接口应该由谁来定义?
锅炉厂生产锅炉, 客户在使用过程当中,由于没有全身心的关注锅炉,导致了一些事故的发生. 客户提出了这个问题,要求锅炉上加上报警装置, 锅炉厂本身不生产

报警器的, A:锅炉厂就在锅炉上留下安装报警器的接口,然后找来生产报警器的工厂,让报警器厂按照留好的接口生产出合适的报警来.
这里锅炉厂相当于客户方,报警器厂相当于服务提供方, 接口的定义是由客户方制定,然后交由服务方实现.
B:锅炉厂到市场上去寻找比较满意的报警器,买回来后,按照报警器的说明规格(想要使用此报警器,必须具备什么什么),在锅炉上安装上报警器.
这里锅炉厂依然是客户方,报警器厂依然是服务提供方,但是接口的制定者变换了, 现再接口的定义是由服务方制定.

接口定义的时机.
预先定义接口,然后交由实现方实现.   这个很合适由客户方提出的规范,然后交由软件来实现规范需求.
已有实现的成品,从成品上制定规范.   这是应该是一流公司的追求吧.
SUN公司发布的个规范,然后由其它厂商实现.
当Spring,Hibernate大行其道时, EJB3的规范出来了,JPA的规范也出来了. (重构到接口吗?)

有效的作法:有经验,有预见性,能够首先制定出接口来,当变化真的来临,就可以抵抗住变化因素带来的影响或降低影响.
                  当没有经验的时候,我们预见不到未来变化的情况,我们只能从实际出发,然后等待第一次变化的来临,这次变化会给我们带来两方面.
                   一.它会摧残系统,需要你对系统修改,这往往是痛苦的事情. 二.实在应该感谢它,正是它的到来,你才有充分的理由去重构系统,使得它能抵抗住以后的 

                变化. 第二次变化的来临应该是检验成果的时候了.如果你的痛苦感明显比第一次变化来得轻,那么说明你是一个合格的.如果你的痛苦感比第一次更深

的话,那只能说明你是不合格的,此时如果你还意识不到的话,那以后的变化只会让你痛不欲生.