1.单一职责
控制类的颗粒大小
自己做自己的事情
spring中的单一职责
开闭原则
软件实体应该对扩展开放,对修改关闭
里氏替换
父类可以被子类替换
这就是为什么 父类不能转化成子类 子类可以转父类的原因
子类功能更多 。
3.当子类覆盖或实现父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
4:当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。
反里氏替换—其实就是不满足上面的第3条
长方形
正方形 extend 长方形
接口隔离原则
客户端不依赖不需要的接口
类之间的依赖关系应该建立在最小的接口上
接口细化
接口隔离要求接口的方法尽量少
单一职责要求类和接口的职责歹意注重业务逻辑划分的职责
合成复用原则
组合和聚合的区别就在于
组合之间的生命周期同步
聚合相对松散
比如说
我有是太原理工大学的学生
太原理工没了 那我的这个身份也就不在了
但是我这个人还是存在的
太原理工+理工学生 = 组合
太原理工+大学生 = 聚合
产品族:一个品牌、工厂创建的不同东西
产品等级结构:不同品牌 工厂创建的相同东西