架构入门之编程范式

1.编程三范式

1.1 结构化编程

1.2 面向对象编程

1.3 函数编程

编程范式软件架构的关系,多态是跨架构边界的手段,函数编程是规范和限制数据存放位置与访问权限的手段,结构化编程则是各模块的算法实现的基础。这些和软件架构的三大重点不谋而合:功能性、组件独立性、数据管理。

2.结构化编程

结构化编程是一个普遍采用的编程范式,并不是最早提出的,最接近图灵机设计规范。

结构化编程是对对程序控制权的直接转移的限制

顺序结构、分支结构、循环结构

从最小的函数到最大的组件,软件研发的过程都和科学研究非常类似,他们都是有证伪驱动的。软件架构师需要定义可以方便进行证伪的模块、组件以及服务。为了达到这一目的,架构师需要将类似结构化编程的限制方法应用再更高的层面上。

3.面向对象编程

结构化编程是二个普遍采用的编程范式,早于结构化编程编程被提出。

面向对象编程是对程序控制权的间接转移的限制

"数据与函数的组合"

"一种对真实世界进行建模的方式"

"封装、继承、多态"

面向对象编程就是以多态为手段对源码中依赖关系进行控制的能力,这种能力让软件架构师可以构建出某种插件架构,让高层策略组件与底层实现性组件相分离,底层组件可以被编译成插件,实现独立于高层组建的开发部署。

4.函数编程

函数编程是最晚普遍采用的编程范式,但是是最早提出的。

函数编程是对程序中赋值操作的限制

函数编程语言中的变量是不可变的,不可变性解决了软件架构中可变性带了的问题(竞争问题、死锁问题、并发更新问题)。在软件架构设计时考虑对对函数、组件以及服务进行可变性隔离。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>