编程范式分为三种:结构化编程、面向对象编程、函数式编程
1、结构化编程是对程序控制权的直接转移的限制。
它采用子程序、程序码区块(英语:block structures)、for循环以及while循环等结构,来取代传统的 goto。希望借此来改善计算机程序的明晰性、品质以及开发时间,并且避免写出面条式代码。
结构化程序设计提出的原则可以归纳为32个字:自顶向下,逐步细化;清晰第一,效率第二;书写规范,缩进格式;基本结构,组合而成。
2、面向对象编程是对程序控制权的间接转移的限制。
面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。
面向对象的三大特性:封装、继承、多态
总的来说,面向对象编程就是以多态手段来对源代码中的依赖关系进行控制的能力,这种能力让软件架构师可以构建出某种插件式架构,让高层策略性组件与底层实现性组件相分离,底层组件可以被编译成插件,实现独立于高层组件的开发和部署。
3、函数式编程是对程序中赋值操作的限制。
函数式编程简化了编程的定义,传统编程非常注重修改存储在类构造函数中的对象,而函数式编程则优先考虑数据的不变性和数学计算。
像Lisp、Python内的函数是内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言,由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此,这种函数是有副作用的。
函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数!
书中有一观点讲的是,软件构建并不是一个迅速前进的技术,今天构建软件的规则和1946年阿兰图灵写下的电子计算机的第一行代码是一样的,尽管工具化化了,硬件变化了,但是软件编程的核心没有变。
软件或者说计算机程序无一例外是由顺序结构、分支结构、循环结构和间接转移这几种行为组合而成的,无可增加,也缺一不可。
***********************************************************************
【如果文字看累了,可b站搜索“沙皮狗2021”,用听的方式领略知识的魅力】
传送门 :https://space.bilibili.com/407643589
【微信公众号】:沙皮狗2021
***********************************************************************