修改接口

修改接口


1、接口修改了,什么事情都可能发生。

2、当需要修改的接口被那些“找不到,即使找到也无法修改”的代码使用时,接口的修改才会成为问题。这种情况下,我们会说,这个接口是“已发布接口”。

3、如果重构手法改变了“已发布接口”,你必须同时维护新旧两个接口,知道所有用户都有时间对这个变化做出反应,这不太困难。请尽量这么做:让旧接口调用新接口。当你修改函数名称时,请留下旧函数,让旧函数调用新函数。千万不要拷贝函数实现代码,那样会让你陷入“重复代码”的泥沼。

4、修改接口的典型例子:Java聚集类,Collection classes,Java2使用新聚集取代了原有的一些聚集接口。Java2发布时,Java做了很多工作使得开发者顺利迁徙。

5、保留旧接口使得我们必须维护一些额外的函数,使得接口复杂和难用。还好我们还有一个选择:不要发布接口。

6、发布接口很有用,但也有代价,除非真有必要,不要发布接口。

7、不要过早发布接口。

8、Java中一个特别关于“修改接口”的问题:在一个函数的throws子句增加一个异常,函数的用户代码需要作出相应修改,否则无法编译通过。这时,可以为这个函数选择一个新名字,让旧函数调用它,并将新增的checked exception转为unchecked exception。你也可以抛出一个unchecked exception,不过这样会失去编译器检查能力。

9、可以为整个package定义一个superclass异常,类似java.sql中的SQLException,并确保所有public函数只在自己的throws子句中声明这个异常。这样就可以随心所欲地定义subclass异常,因为调用者永远只知道那个更具一般性的superclass异常。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值