美文网首页程序员
万变不离其宗

万变不离其宗

作者: lensuntop | 来源:发表于2019-01-16 23:51 被阅读0次

    《架构整洁之道》第3、4、5、6章读书札记
    我们编程有三大范式:结构化编程、面向对象编程、函数式编程。而在三种编程范式都是对程序员提出了新的限制。

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

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

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

    从程序诞生至今,我们最应该明白的是——

    什么不应该做

    就如函数式编程的时候,我们要记住谨慎赋值,因为变量是不可变的。
    我们写程序,为什么会觉得深入其中掌握其中一种编程语言后,再没有学习其他语言去看其他的语言的代码,都能看懂。因为

    软件,或者说计算机程序无一例外是由顺序结构、分支结构、循环结构和间接转移这几种行为组合而成的,无可增加,也缺一不可。

    所以程序的组成由诞生至今就没有改变过。即使我们的前辈们已经创造了许多编程语言,但是每一种语言都是为了让我们更好的去解决现实中诞生的问题而已。换而言之,一种语言在解决一类问题上有着其无与伦比的优势。
    在我看来语言是怎么形成的呢?就是将许许多多处理逻辑归纳成一个个不可变组件或者函数后,将这些函数和组件规范化后有制约性的,在此基础上又可以尽可能发挥程序员创造力的一套规则。

    在里面我觉得收获最大的一句话是

    软甲架构师应该着力将大部分处理逻辑归于不可变组件中,可变状态组件的逻辑应该越少越好。

    其实要做好微服务,正是要遵循这个道理。一个可变的服务,下面有不可变的服务作为其支撑。而不可变的服务越多,我们在做项目时的效率越高。因为我们只需要考虑好可变服务的逻辑就好,在可变服务中调用好这些不可变的服务为自己进行服务。让不可变和可变的服务都专注于自身,可变的服务有了更多的选择不变量,即是让整个软件变得更加灵活。

    相关文章

      网友评论

        本文标题:万变不离其宗

        本文链接:https://www.haomeiwen.com/subject/uyovdqtx.html