java和接口

接口是用来干啥的:

如果昨天你问我,我会说接口是制定规则,而接口中的方法可以通过不同实现来实现不同的功能,就像我们在对一件事物做出定义,或者在对一类物种做出第一,胎生的,有脊椎动物叫做哺乳动物,于是,所有符合这个规则的新发现的动物,就直接归类到哺乳动物的行列中了。接口是特殊的抽象类,等等。然后是接口的实际应用,spring的ioc,直接在接口中声明接口,然后创建实体类的时候会根据具体实现类来创建,是程序员不再关注具体代码的实现,更加灵活,但是,我这样描述仅仅是说明了接口的作用和具体的表现形式,但重要的是,我们为什么用。

接口的实质:

接口是用来隔离变化的,在很多情况下,程序的实现不能仅限于一种方式,可能在某些方面更需要一些变化,这些变化是在确定的方式上不同的实现而已,例如数据库连接的驱动,sun制定了连接规则,而MySQL,oracle仅需实现所需功能即可,连接的方式是一定的,但具体到连接协议的东西,每个厂家都不相同。接口的好处就是把这些方式规范化之后,不同厂家即使在很多细节上都不相同,但暴露给程序员的调用方式却是与接口定义的方式相同的。程序员想要连接不同的数据库,仅需要调用sun制定的接口,然后调用不同厂家的实现代码即可,大大简化了切换数据库的步骤和代价。

这时在看接口,就会发现,对啊,接口的确隔离了代码变化带来的切换代价,实现了程序的松耦合。

接口玩到这,想我这样的初级程序员还是不知道在何时使用接口,何时不该使用接口。这时,只有一种方式,我会去看框架的源代码,通过对源代码的研究,发现架构大师在处理具体实现的方式。以struts2为例,大家可能都知道一个很重要的类,ObjectFactory,strtus2实现了这个接口,并实现了其中的方法。其中的很多bean都是配置在struts2的配置文件中的,在tomcat启动的时候静态注入的。这样直接通过配置文件静态注入是一种方式,而以也可以自己实现ObjectFactory方法,然后通过你自身的方式注入所需的类,这样的化,自己定制的strtus2就出现了。于是框架有了更多的灵活性,而调用的接口不需要有任何的改变。

衍生的东西:

由此,接口的中的特性使得他可以在框架的编写中占据很高的地位,而根据接口特征对代码的优化衍生出了一些设计模式,如工厂模式,代理模式,观察者设计模式;接口的加强如策略模式...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值