zoukankan      html  css  js  c++  java
  • 第二部分 从基础构件开始:编程范式

    第3章 编程范式总览

    • 结构化编程
      结构化编程对程序控制权的直接转移进行了限制和规范
    • 面向对象编程
      面向对象编程对程序控制权的间接转移进行了限制和规范
    • 函数式编程
      函数编程对程序中赋值过行了限制和规范

    第4章 结构化编程

    • 可推导性: 人们可以用顺序结构、分支结构、循环结构这三种结构构造出任何程序
    • goto是有害的
    • 功能性降解拆分: 可将模块递归降解为可推导的单元
    • 形式化证明没有发生
    • 科学来救场
    • 测试:测试的作用是让我们得出某段程序已经足够实现当前目标这一结论。

    功能性降解拆分仍然是最佳实践之一

    第5章 面向对象编程

    • 封装
    • 继承
    • 多态
    • 依赖反转

    第6章 函数式编程

    • 不可变性与软件架构
      软件架构师要操作变量的可变性。因为所有竞争问题、死锁问题、并发更新问题都是由可变变量导致的。
    • 可变性的隔离
      常见方式是将应用程序或内部服务进行切分,划分为可变的和不可变的两种组件。
      我们通常会采用某种事务型内存来保护可变变量
      软件件架构构师应该着力于将大部分处理逻辑都归于不可变组件中,可变状态组件的逻辑应该越少越好。
    • 事件溯源
      在这种体系下,我们只存储事务记录,不存储具体状态,当需要具体状时,我们只要从头开始计算所有的事务即可。
    我的博客地址:紫荣 || myruhui
  • 相关阅读:
    shell lab
    cache lab
    后缀树
    leetcode maximum-length-of-repeated-subarray/submissions
    leetcode assign-cookies
    lcs
    leetcode delete-operation-for-two-strings
    【C】C语言typedef
    【C】C语言结构体指针的语法
    【JAVA】Java 命令行参数解析
  • 原文地址:https://www.cnblogs.com/zyzl/p/15659424.html
Copyright © 2011-2022 走看看