面向对象的五大基本原则

1.单一职责原则
Single Responsibility Priciple 对于一个类而言,应该有一个引起它变化的原因。
要符合单一职责原则,那么就要将一个类中的各个功能分开。
比如图片加载控件,需要将图片的加载和缓存进行分开。

2.开闭原则
Open Close Principle 软件中的对象对于扩展是开放的,但是对于修改是封闭的。也就是说软件修改的时候,应该尽量用扩展进行变化,而不是通过修改已有的代码。
要符合开闭原则,那么创建接口规范,然后实现接口中的方法来进行修改代码。
比如图片加载框架中的图片的三级缓存,内存缓存,本地缓存。

3.里氏替换原则
Liskov Substitution Principle 所有引用某类的地方必须透明的使用其子类。也就是使用了多态。开闭原则和里氏替换原则是配合使用的,结合使用就是策略模式。

继承的优点
①代码重用,每个子类都有父类的方法和属性
②子类和父类相似,但是又与父类有区别
③提高代码的可扩展性
继承的缺点
①继承是侵入式的,只要继承就必须拥有父类的所有的属性和方法
②可能造成子类代码冗余,缺少灵活性。

4.依赖倒置原则
Dependence Inversion Principle
①高层次的模块不应该依赖低层次的模块,应该依赖于其抽象。
②抽象不依赖于细节,细节依赖于抽象。
也就是在具体类中应该尽量使用类的抽象。就像图片框架中共同使用ImageCache,而不使用其具体的实现类一样。

5.接口隔离原则

Interface-Segregation Principle

某个类不应该依赖它不需要的接口,应该建立在最小接口上。

简记:

单一职责原则(SRP)
开放封闭原则(OCP) 
里氏替换原则(LSP) 
依赖倒置原则(DIP) 
接口隔离原则(ISP)
s( Single-Resposibility Principle ): 单一职责原则
o( Open-Closed principle ): 开放封闭原则
l( Liskov-Substituion Principle ): 里氏原则
i( Interface-Segregation Principle ): 接口隔离原则
d( Dependecy-Inversion Principle ): 依赖倒置原则
一个单词:立方体(solid),很好记!!!
posted @ 2021-06-09 10:51  Chen洋  阅读(853)  评论(0编辑  收藏  举报