面向对象的实现关键
- 利用父类及接口定义好同类型的handle process 类及空的业务逻辑方法方法,以造成子类类名不同,执行的业务逻辑方法名相同,具体业务逻辑以类名为标识而不是以方法名为标识。
- 业务逻辑类xxxHandle需要定义父类及接口,父类BaseHandle继承接口HandleInterface,并对抽象成员方法进行空实现。
- 子类对父类的业务逻辑方法进行重写并进行具体实现.
- 通过 在业务逻辑类A的父类 中引入 其他业务逻辑类B的父类作为成员 ,并建立以该成员为参数的构造方法。当需要多个业务逻辑类进行组合处理时,使用该带参数的构造方法 new 业务逻辑类A,进行处理。业务逻辑类A作为子类,要重写并具体实现业务逻辑方法,业务逻辑类B的方法体应包含在此业务逻辑方法中。
- 所有数据要放在对象中,所有同类型数据必须要有一个空的父类BaseData 。利用父类对象可强制转换为子类对象的特性,方法传入参数数据类型与具体子类无关,以进行解耦, 具体的处理对象需要在方法体内进行强制转换
总结出来的面向对象的关键点
- 解耦(充分利用继承多态封装)
- 透明
- 接口最简化:与外部对接的方法、类、参数尽可能简单,没有冗余(理想状态是一个jar包只有一个类是public)
- 公开方法最少化:其他actor调用你写的包时能调用的方法尽可能少
- 参数名意义化:充分利用枚举类型来实现工厂模式,在代码中尽可能不出现无意义的数字