架构一期二班 - 吴水金 - 第二课总结

用户头像
吴水金
关注
发布于: 2020 年 09 月 27 日

面向对象的五大原则

1.开放封闭原则

在进行功能扩展时,程序允许增加新的代码,但不允许修改现有的代码结构。在具体的实践中,我们需要对具体业务进行抽象,以便抽象出通用的调用关系,这一块是对外封闭的。我们开放具体实现类这一块,实现类可以由用户自定义,前提是实现类必须实现抽象接口。

2.依赖倒置原则

当一个模块调用另一个模块时,并不直接引用被调用模块的类。而是引用一个抽象接口,该接口由调用模块定义,由被调用模块对其实现。调用不需要关心被调用方的具体实现,而被调用方却需要关心调用方的接口定义以便对其进行实现。因此,原本的依赖关系就倒过来了,依赖倒置也称依赖反转。

3.里氏替换原则

如果对每一个类型T1的对象o1,都存在一个T2的对象o2,使得在所有针对T2编写的程序P中,用o1替换o2后,程序P的行为不变,则T1是T2的子类。简单来说,就是用子类型替换基类型,子类型的功能不会受到影响。用来衡量继承是否合理,需根据具体场景来判断。策略模式所体现的里氏替换原则。子类的访问控制不能比父类更严格。子类函数不能退化,子类不能抛出父类没有的异常。

4.单一职责原则

一个类,只能有一个引起它变化的原因。一个单一职责的类是内聚性很高的类。具体实践中,相同的功能聚集在一起,一个类只做一件事。复杂的功能通过各种单一职责的类之间组合调用来实现。

5.接口隔离原则

如果有一个功能较多的类提供给不同的模块进行调用,而不同的模块都只需要调用该类的部分接口。那么,接口隔离原则指的是,我们会向不同的调用模块提供不同的接口,这些接口都由被调用类实现,调用模块不会看到与自己调用无关的功能。



发布于: 2020 年 09 月 27 日 阅读数: 15
用户头像

吴水金

关注

初级架构师 2019.12.01 加入

热情开朗,乐于分享。

评论

发布
暂无评论
架构一期二班 - 吴水金 - 第二课总结