Skip to content

Latest commit

 

History

History
36 lines (23 loc) · 1.68 KB

interaction_of_static_and_dynamic.md

File metadata and controls

36 lines (23 loc) · 1.68 KB

Interaction of Static and Dynamic (Taiji and Table Tennis) 动静态交互(太极与乒乓球)

Copyright © 2018 Lin Pengcheng. All rights reserved.

版权所有 © 2018 林鹏程, 保留所有权利。

In Taiji figure, Yin (static) and Yang (dynamic) are strictly dividing lines, Yin (static) interacts with Yang (dynamic) similar to playing table tennis. If the dynamic and static blend together, for the language, the project, the Code, It's too messy, too complicated, too ugly.

Metaphor:

  • Yin (Static): Warehouse, strict standardized immutable data model (Clojure persistent data structure with spec), RMDB.

  • Yang (dynamic): Workshop, industrial production line, pure function pipeline data flow, Clojure

  • Table Tennis Ball: Products that meet industrial standards (finished goods, raw materials, middleware), strictly standardized and immutable data

  • Table Tennis Net: Yin (Static) and yang (dynamic) dividing lines, Quality Control Department, Customs, jdbc, I/O, ring

taiji2

Table Tennis

在太极图里,阴(静态)与阳(动态)是泾渭分明的, 阴(静态)与阳(动态)交互类似打乒乓球。 如果动静态交织在一起,对语言、项目、代码来说, 太混乱, 太复杂,太丑了。

比喻:

  • 阴(静态):仓库,严格的不可变的标准化的数据模型(带SPEC的clojure持久化数据结构), RMDB
  • 阳(动态): 车间,工业生产流水线,纯函数管道数据流,Clojure
  • 乒 乓 球: 符合工业标准的产品(产成品,原料,中间件),严格的标准化的不可变的数据
  • 乒乓球网: 阴(静态)与阳(动态)的分界线,类似海关,质量控制部门,JDBC,IO,ring