关于接口和抽象类的几点总结性思考
关于接口和抽象类的几点总结性思考
基本原则
- 对于所有的注定要做基类的东西最好把它变成接口
- 面向接口编程,模块之间通信的规范
- 逻辑的复用模板-抽象类
常见场景
转发-业务-数据库分层,方法级的业务组件 以序列号的vo传递数据 ,多入单出
魔乐科技 - 面向接口编程
EmpService-IEmpDAO
EmpServiceImpl-EmpDAOImpl
抽取公共接口,成为基类接口,同种数据可用泛型实现
每一层均用接口连接,不会在单层中出现new 对象
main级的业务组件,单入单出
-
接口:用来抽取业务
-
抽象类:可抽取业务,可做父类,声明部分变量和方法
-
一般而言,只有具体的实现类是具体的,如果设计扩展性考虑的好,父类基本上都是抽象的,这个时候抽象的父类主要用来封装一些固定的业务逻辑,以及一些固定的成员变量,供子类继承部分的核心业务实现
ucp框架-使用抽象类封装逻辑
抽象基类-抽象业务父类-继承实现
抽象业务父类是所有业务组件的入口
自己的用基类抽象做业务入口 类似于UCP
面向接口编程,系统内部的各层之间 或者 方法及参数注入
开闭原则中的接口
-
接口-实现类
-
根据业务场景调用具体的实现类 类似mobilephone中的业务转发 , 用抽象类亦可