面向对象的设计模式与原则

面向对象的特性

-封装:隐藏内部实现【减少耦合、提高软件可重用】

-继承:复用现有代码【可扩展性、代码重用】

-多态:同一个行为不同表现形态【可替换性、灵活性、简化性】

可实现:单继承+多接口实现、抽象方法和虚方法重写

从设计原则到设计模式

针对接口编程,而不是针对于具体实现编程

调用者无需知道所使用的方法的具体实现,而是想知道是否存在有实现该方法的接口定义

优先使用对象组合,而不是类继承

继承在某种程度上破坏了封装性,子类父类耦合度高;而对象组合则只要求被组合的对象具有良好定义的接口,耦合度低

封装变化点

使用封装将不变的地方抽离出来,变化的地方进行封装,从而只需要改变变化点,而不影响其他不变的地方,实现层次的耦合

五大基本原则

1.单一职责原则(SRP)

一个类的功能要单一,职责划分清楚、否则就会太臃肿

2.开放封闭原则(OCP)

软件功能尽可能对扩展开放、修改封闭

3.里氏替换原则(LSP)

子类可以替换父类,但是父类不能替换子类

4.依赖倒置原则(DIP)

高层次模块不应该依赖于低层次模块,二者都应该依赖于抽象

抽象不应该依赖于实现细节,实现细节应该依赖于抽象

5.接口隔离原则(ISP)

不应该强迫客户程序依赖于它们不用的方法

     

参考视频

https://www.bilibili.com/video/BV1uJ41157dC?from=search&seid=12951163858889790025

猜你喜欢

转载自www.cnblogs.com/ZQWelcomeIndex/p/12687659.html