微服务学习笔记 三大编程范式

三大编程范式包括,结构化编程,面向对象编程,函数式编程。

结构化编程范式

结构化编程是指将复杂程序递归拆分成一系列更小的,可证明的单元(函数),之后通过编写测试来试图证明这些函数是错误的。如果无法证伪这些函数,就可以认为这些函数足够正确,进而推导整个程序是正确的。(注意,这里是用科学论证法进行验证,只要函数无法证伪,就能认为其足够正确;而数学论证则要求证明函数的正确性)

由于需要递归的将程序拆分成更小的,可证明的单元,而使用goto语句会导致某个模块无法递归拆分,进而违背了结构化编程范式。所以,在结构化编程范式中限制程序员使用goto 语句。因为它是有害的!

面向对象编程范式

虽然很多人认为面向对象编程就是封装、继承、多态,这三种特性的有机组合,任何一种支持面向对象的编程语言必须支持这三特性,但是这样说是不准确的。
《架构整洁之道》一书指出,就封装性而言,大多数的面向对象语言的封装性不如c语言,而继承性只是在c语言既有的继承性的基础上进行了优化,真正使其声名大噪的是其多态性,利用多态性成就了依赖反转这一架构手段。
所以《架构整洁之道》一书定义:在架构层面而言,面向对象编程就是利用多态手段对源代码中的依赖关系进行控制的能力,这种能力让软件架构师可以构造出某种插件式架构,达到依赖反转的目的。让高层组件不再直接依赖底层组件,而是依赖于接口,再让底层组件编译成插件(即接口的实现),从而使高层组件和底层组件解耦。

你可能感兴趣的:(微服务学习笔记)