1、设计原则
- 将变化部分和不变部分分离出来,让代码适应变化;(封装变化)
- 针对接口编程,而不是针对实现编程;(即,将一类行为抽象成行为类接口,可以应对变化,符合原则1)
- 多用组合,少用继承;(这条原则,是建立在原则2的基础上的,好处是系统有很大的弹性,运行时可以动态改变对象的行为——例如:策略模式 ‘定义算法簇’ )
- 学会使用共享模式词汇,简化沟通;
- 建立弹性的设计,可以维护,可以应对变化;
- 高内聚、松耦合;
- 类应该对扩展开发,对修改关闭(OCP——开放关闭原则)
2、设计模式
- 策略模式:定义算法簇,分别封装起来,这些算法可以相互替换,让使用者与算法(即行为)进行分类,同一使用者在不同的场景中,使用不同的算法。(有点向人多年形成的各种经验,每种经验都有各自的适用场景,不能用一招而致天下敌);
- 观察者模式:出版者(publisher)[负责发布主题] + 订阅者(subscriber)[负责注册主题和接收主题及取消注册];如一种微服务间通信框架pubsub机制。属于一对多的关系,当一个对象状态改变,其他依赖者都会受到通知。
3、装饰者模式,动态地将责任附加到对象上。