一、设计原则:
- 保留不变的部分,抽取变化的部分
- 面向接口编程
- 多用组合,少用继承
- 对拓展开放,对修改关闭
二、设计模式
1、策略模式
利用多态,将变化的部分抽象成一个接口,针对该接口有不同的实现
2、观察者模式
主题接口和观察者接口
主题维护观察者的增加、删除、通知;
3、装饰者模式
对被装饰者进行层层包装,被装饰者和装饰者需要具有相同的基类,以便于在装饰者中调用被装饰者的方法(装饰者持有一个基类的实例变量)
利用多态,将变化的部分抽象成一个接口,针对该接口有不同的实现
主题接口和观察者接口
主题维护观察者的增加、删除、通知;
对被装饰者进行层层包装,被装饰者和装饰者需要具有相同的基类,以便于在装饰者中调用被装饰者的方法(装饰者持有一个基类的实例变量)