IDEA
IDEA
所有的设计都是为了隔离变化与不变
隔离变化的方式就是进行正交分解
软件里面的所谓加一层,本质就是正交分解的产物
分析一个程序或事物的生命周期,从start到end,每一个阶段通过正交分解,都能产生新的层级,从基础架构到代码执行
设计模式=面向对象编程,对象从创建,到死亡,全流程不同阶段的正交分解
计算机系统=计算+存储+网络
架构=数据结构+算法
架构演进=只读+每次新增功能(开闭原则)+运行时可配置
设计=面向全生命周期设计
软件生命周期=上线+运行
设计=面向需求变化设计
设计初期的抽象决定了是否能真正只读+新增
如果设计不充分,设计基础有问题,只读的内容也需要变更(避免!)
推论
线性代数就是真实世界的模拟,从而,数学,物理学等基础是整个世界运行的正交分解
熵增的趋势不可逆,也是世界之美的根本,没有熵增何来进化?
而人类的认知和资源都是有成本的,时间和注意力是有限的,因此需要基础架构,需要隔离变化,以最小的成本支撑满足人类的需求。
抽象层次可以不断拔高,比如,此处领悟的思维过程是怎么来的?
设计模式
mybatis的插件?
多点才能成线,多线才能成面,多面才能成体,多体才能架构世界
知行合一:抽象到本质,再往现实世界推
跨学科的基础能力就是人类面对世界变化的正交分解
特点
所有过程都用到
所有过程都和他有关系
如果跳不出维度:所有过程又都感知不到他的存在
在低纬度的事物感知不到高纬度
越靠近底层的正交分解产生的链接越多
越靠近底层的正交分解越值钱
大公司都是靠底层的正交分解挣钱
能设计底层的稳定正交分解是因为能感知到无数变化的真实场景并预知到未来的变化
然而世界是混沌的,一切公司的崩溃一个可能是底层正交分解无法支撑现实,一个可能是黑天鹅,即世界的底层崩塌,人类的基础认知产生巨大偏差
能看多深决定能走多远,能看的多深取决于:
看的多广(现实的丰富场景)
思考的多深入(人,事,物)
时间维度支持:看到未来
对已有的正交分解的掌握和理解