设计模式知识点打卡学习(2021年3月18日打卡)
2021年3月18日打卡
单一职责原则
英文名称Single Responsibility Principle,简称SRP。
定义:应该有且仅有一个原因引起类的变更。
组合是一种强耦合关系,你和我都有共同的生命期。
优点:
- 类的复杂性降低,实现什么职责都有一个清晰明确的定义。
- 可读性提高,复杂度降低。
- 可维护性提高。
- 变更引起的风险降低。
单一职责的使用需要灵活变通,可以适用于方法,类,接口。
建议:接口一定做到单一职责,类的设计尽量做到只有一个原因引起变化。
里氏替换原则
在将里氏替换原则之前,先讲讲面向对象特性中的继承,JAVA中,一个类只可以继承一个父类。
继承的优点:
- 子类代码可以和父类共享,减少创建类的工作量,每个子类都能拥有父类的方法和属性。
- 能提高代码的重用性。
- 能提高代码的可扩展性。
- 提高产品或者项目的开放性。
缺点:
- 继承是侵入性的。因为会嵌入父类的所有属性和方法。(即便是private属性和方法也可以继承,但子类本身无法进行使用,父类则可以。)
- 降低代码的灵活性。
- 增强了耦合性。父类中的常量变量和方法被修改时,子类就会相应的进行修改。
里氏替换原则的定义:
所有引用基类的地方必须能透明的使用其子类的对象。
通俗来说,父类能出现的地方子类也可以出现,即便替换成子类也不会产生任何错误或异常。