接口理解

1.接口 


在抽象层次上是一个协议,对象遵守这个协议就能进行交流。 


在语义上,它是站在高层次上去抽象业务共有部分,抽象出能力。


在语法上,它是定义了一些没有没有方法体的方法签名,以及对象。


2.在业务设计上的作用,多态性,我们可以降低系统耦合程度,使我们的系统的维护更加便利,
增添新的功能模块可以做到不改变现有代码的情况下,去动态新增我们想要的模块。


3.业务设计中,利用接口我们通常可以可以抽象出业务逻辑功能,来达到一个接合处,任何实现该接口
的类都可以进行交流,能够和我们的接口交流。


4.接口继承接口
通常我们定义接口时,有一个准则就是尽量不要为了方便,将所有的方法都放在一个接口里面,最小接口原则,
这样不但在业务意义上能够满足,而且也避免了实现接口的一些类去重写一些方法,这些额外方法是没有业务
意义的,我们一般不会去实现它。


所以,如果我们利用了接口继承的话,这样在接口的业务意义上是能够满足的,同时,也可以利用单独的接口,
就像将一个积木最小化之后,我们可以组合出更多的选择。


5.空接口
这种接口通常只是为了标识一个接口拥有某种能力,该接口不带任何方法。eg:可序列化接口


6.抽象类实现接口
通常在我们定义出一个接口之后,仍然会有多个不同类型的类来实现它,而且同时在这些不同的实现类中,又有
共同的逻辑,这个时候我们就需要考虑到再次进行抽象,这个时候可以用抽象类来实现接口,然后其他的类来继承
该抽象类,拥有该抽象类的公共逻辑,然后再子类里面添加自己的个性逻辑,这样设计出来的一个体系,充分考虑到了
易维护性,可拓展性。




7.抽象类和接口的优劣势比较
抽象类 :在语义上,它主要是定义了一个或一个以上的抽象方法,以及一些非抽象方法,这个抽象方法没有方法体,
不能实例化,只能由子类继承,重写其抽象方法,然后再实例化。


接口:第一点已经说明。


我们通常使用到抽象类,主要是使用到了抽象类的非抽象方法提取出公有逻辑,然后将需要子类重写的方法,让子类
不得不去重写,这样在抽象类中定义出业务流程,并且将其中几个特殊个性逻辑交给子类实现,这样能够抽出公有逻辑
,特性逻辑交给子类。


8.界面例子:
IUIObject 提供界面加载,保存,销毁等
CoreUI 提供简单 菜单项,功能栏
ListUI继承Coreui 增加 新增 删除 修改 查看按钮等,刷新页面等新功能
EditUI继承CoreUI 增加 下一个 上一个 功能
业务提供去继承Listui和Editui。


9.关于Collection接口体系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值