三个编程范式--《架构整洁之道》读书笔记

三个编程范式--《架构整洁之道》读书笔记

  • 前言
  • 一、结构化编程总结
  • 二、面向对象编程总结
  • 三、函数式编程总结
  • 四、总结


前言

         这是一篇系列文章的第一篇,是我学习《架构整洁之道》的读书笔记。这篇学习笔记是三个编程范式的总结的读书笔记,希望对需要学习这些内容的同学们有所帮助。
        三个编程范式:结构化编程、面向对象编程、函数式编程。下面分别对这三个范式的总结性内容做笔记,分享给大家共同学习。

一、结构化编程总结

        结构化编程对程序控制权的直接转移进行了限制和规范。结构化编程范式中最有价值的地方就是,它赋予了我们创造可证伪程序单元的能力。这就是为什么现代编程语言一般不支持无限制的goto语句。更重要的是,这也是为什么在架构设计领域,功能性降解拆分仍然是最佳实践之一。
        无论在哪一个层面上,从最小的函数到最大组件,软件开发的过程都和科学研究非常类似,他们都是由证伪驱动的。软件架构师需要定义可以方便地进行证伪(测试)的模块、组件以及服务。为达到这个目的,他们需要将类似结构化编程的限制方法应用在更高的层面上。

二、面向对象编程总结

        面向对象编程对程序控制权的间接转移进行了限制和规范。面向对象的特性是:封装、继承和多态。面向对象编程就是以多态为手段来对源代码中的依赖关系进行控制的能力,这种能力让软件架构师可以构建出某种插件式架构,让高层策略性组件与底层实现性组件分离,底层组件可以编译成插件,可以独立于高层组件的开发和部署,即:依赖反转原则。

三、函数式编程总结

        函数式编程对程序中的赋值进行了限制和规范。一个架构设计良好的应用程序应该将状态修改的部分和不需要修改状态的部分隔离成单独的组件,然后用合适的机制来保护可变变量。软件架构师应该着力于将大部分处理逻辑都归于不可变组件中,可变状态组件的逻辑应该越少越好。

四、总结

         三个编程范式分别限制了goto语句、函数指针和赋值语句的使用。这里仅仅是对三个范式做了一些简单的总结笔记,各自的详细编程规范可以自行查看相关资料。后续会继续分享设计原则:SOLID。

你可能感兴趣的:(设计模式,架构)