面向对象基本原则
1、 开闭原则:一个模块对扩展应是开放的,对修改应是关闭的(容易的扩展,扩展过程中无需修改已有代码,可用多态实现)
2、 完全替换原则:派生类能完全替换基类
3、 依赖倒置原则:依赖于抽象,而不要依赖于具象(设计模式中的“模版方法”模式,遵循此原则可较方便的满足开闭原则)
4、 非循环依赖原则:包之间不能有循环依赖
5、 只实现真正需要的东西,不要去实现认为需要的东西
6、 不要重复自己:任何代码只出现一次
7、 保持简化的设计
8、 为人写代码,而不是为机器写代码(可读性)
设计模式最根本的意图是适应需求变化
针对接口编程,而不是针对实现编程
优先使用聚合,而不是继承