单一职责示例
(1) 反面示例
示例要求 : 创建一个绘图系统
-- 绘图 : 可以绘制圆形, 矩形;
-- 显示 : 显示绘制好的图形;
UML 图 : 明显下图不符合单一职责原则, 绘制圆形, 矩形...里氏替换简介
(1) 里氏替换定义
里氏替换 : 所有 引用基类的地方 必须能 透明地使用其子类的对象;
-- 子类替换父类 : 只要 父类出现的地方子类就可以出现, 替换为子类也不会产生任何错误, 使用者不需要知道父类还是子类..., 即构造函数注入;
(3) 接口注入依赖对象
注入方法 : 在接口方法的参数中声明依赖对象, 即接口注入;
3....属性和方法, 并声明与其它对象的依赖关系;
-- 抽象类 : 负责公共构造部分实现;
-- 实现类 : 准确地实现业务逻辑, 适当时候对父类进行细化;
4....开闭原则定义
开闭原则定义 : 软件的实体 类, 模块, 函数 应该对扩展开放, 对修改关闭; 即 软件实体 应该 通过扩展实现变化, 不是通过 修改已有的代码实现变化;
-- 软件实体 : 软件产品中得