Day 15: 范式概述、结构化设计 (待改进中... )

「每一个范式都将某些东西带离开我们。goto语句、函式指标、赋值,还有什麽东西可以带走的吗?」

「或许没有了。因此,这三种范式将可能是我们唯一看到的三种范式

取自: Clean Architecture (p.21)

CH3: 从基础开始 - 程序设计范式

  1. 结构化程序设计
    • 跳跃
    • 直接控制转移加上规范
    • 删除「GOTO」
  2. 物件导向程序设计
    • Stack & Heap
    • 间接控制转移加上规范
    • 删除「函式指标」
  3. 函数式程序设计
    • 不变性
    • 赋值加上规范
    • 删除「赋值」

思考

  • 每个范式都没有增加新的功能
  • 范式告诉我们不该做什麽,而不是告诉我们该做什麽
  • 三大关注点
    1. 函式
    2. 元件分离
    3. 资料管理

CH4: 结构化程序设计 (Structured Programming)

  • 起源
    • Dijkstra,
    • 数学证明
    • 所有的程序都可以使用三种结构建构出来
      1. 循序 (Sequence)
      2. 选择 (Selection)
      3. 迭代 (Iteration)

    「软件就是由循序 (Sequence)、选择 (Selection)、迭代循环 (Iteration) 和间接 (Indirection) 所组成的电脑程序内容而已。没有更多,也没有更少」

    取自: Clean Architecture (p.47)

  • 论战: GOTO is harmful
  • 功能分解
  • 小结
    • 特色 优缺点

<<:  【day15】DashboardFragment X Firestore搜寻

>>:  [Day15] Boxenn 实作 Repository & Query

D17 - 吃一颗 Class 语法糖 (上)

前言 在 ES6 後,新增了 class 类别,一个更简洁的语法来建立物件,也是建立继承的语法糖。 ...

[Day 22] 实作 - 介面篇6

开始在主场景下做出一个类似技能快捷键的视窗 从Spriteset_Map开始 在ActionBatt...

30天学习笔记 -day 29-bottomsheetDialog

bottomsheetDialog是一种底部弹出的Dialog。今天会实作一个简单的自定义botto...

[Day14] 补充说明 – Cookie、Session和Token之Part1

哈罗大家好,我们今天来简单补充一下cookie、Session和Token,这里我会分成两天来介绍,...

Day 13 - React: state

虽然昨天很低落,但我们要记得 Props 是唯读的!(我有写喔!) 但我们要做的网页不是静态资料(如...