当我们需要对系统已有功能进行升级的时候,能不能修改已有代码进行升级?
不建议直接修改原来类,应该添加新的类或新的方法去升级。
可以通过新增一个类编写新的业务逻辑,但是新增这个类是如何扩展已有系统呢?
建议使用面向接口的方式去编程,只要替换原来接口实现类就可以了。
服务器端三层架构里面经常需要升级代码的部分是业务层Service、数据访问层Dao,这两层需要使用面向接口的编程。
面向接口编程的好处!
可扩展性和可维护性更强
- 隐藏实现:Web层只调用service接口,service层只调用Dao接口,上一层只调用下一层接口,不需要知道具体实现类,从而隐藏了实现。
- 易扩展:系统功能升级扩展,我们知道程序设计的开闭原则是对修改是关闭,对新增是开放。面向接口编程扩展功能只需要创建新实现类,重写接口方法进行升级扩展就可以了,达到了可以不修改源程序代码的基础上达到扩展的目的。