面向接口编程的理解

来源:互联网 发布:linux切割图片 编辑:程序博客网 时间:2024/04/30 06:30

ssh框架一直在用面向接口编程,万事万物都有他存在的理由,那么面向接口编程到底有何意何在?我接下来将从具体实际例子出发分析其意义。

第一点:开发效率高。项目组,开发分工明确,可使项目同时进行,比如将项目中的service层,dao层的接口定义好了,一个项目组的成员可以service层和dao层的开发可以同时进行,如果都是实现类的话只有dao层开发完了,才能接下来进行service层的开发,定义好service层的才能进行action的开发。

第二点:耦合度低。一个项目有时策划的和开发不是一个人,所以架构师把项目的接口先全部定义好,然后分给几个开发人员,分别开发,只需要明白接口的功能是什么,实现调用就可以了,相互模块间的耦合度非常低。

第三点:扩展性好。比如数据库从mysql换成oracle,相同性质的项目具体业务变了,这样的软件需求是很正常的变更,这个时候面向接口编程就只需要更改dao层的实现类,service层的实现类,更改配置文件即可,如果直接在java类里面实现dao实现类,不用接口编程,即使是项目90%类似,你的项目也需要推倒全部重构,这样的维护性低,耦合度高,可扩展性差的软件不是我们想要的。