程序员toolsJava

面向对象范式的核心本质是?---不是继承 不是封装也不是多态

2019-08-28  本文已影响0人  名白

核心本质

什么是依赖反转

用一张图说明下,如下:


依赖关系.png

为什么不是 封装 继承 多态

面向对象让 多态 变得容易和安全

首先,多态实现的原理到底是什么?多态,其实就是指针的一种特殊应用

为什么这么说呢,常见的多态就是把把接口当成一个对外的入口,程序从这个入口处取出一组数据,或者一个函数去使用。 其实这就是一个指针,让这个指针指向不同的位置去拿不同的东西来使用。

面相对象语言出现之前,用C等高级语言去实现这个还是比较麻烦且所以出错的,这个问题导致多态无法普遍运用。而用新的面向对象语言去实现多态,就是一件很简单的事情了。

依赖反转的妙处--架构的灵活性

说了这么多,终于说到最后,最重要的东西了。

面向对象语言,让多态的实现变得简单安全的意义是什么?意义就是通过多态实现的依赖反转也变得简单安全,这给程序架构设计带来了很大的灵活性。

如果没有依赖反转,那么架构的选择就比较单一,按照控制流的方向从上到下;如果此时 底层被依赖较多的组件 频繁的变动,那么上层的组件也必须要跟着变动,这将会十分的痛苦!

如果有依赖反转了这个东西,我们就可以自如的控制依赖的方向,让变化少的组件被依赖,让变化多组件到顶层依赖别的组件。这样,经常变化的组件 就不必引起其他的组件跟着变化进而增加工作量了.

反转依赖方向

比如这个组件,依赖方向原本是, 用户界面依赖业务逻辑,依赖数据库;我们可以用接口让依赖方向从用户界面到 业务逻辑. 这样, 不那么易变的用户界面,就到了 更容易变化的业务逻辑的下方. 程序结构更加的合理.

以上,欢迎补充和指正.

有收获记得点赞哦~

上一篇 下一篇

猜你喜欢

热点阅读