系统化思维?这个名词很早就听过。也看过一些介绍系统化思维的书。《系统之美》里面说了三大要素。要素,连接,功能或目标。
几年前看这本书时,给了我很大的启发。当时对于设计模式或者架构模式,我个人已经从最初的拟人化,具象化,转到了aop的设计模式。
系统的三大要素加深了我自身对设计模式,架构的理解。并天然的与aop设计相契合。
拟人化设计模式:来源于最初看《大话设计模式》里面用故事,并拟人化的视角阐述了经典的设计的设计模式。
具象化:来源于,对拟人化设计的扩充。当把所有设计都拟人化时候,会发现具有很大的局限性。而周边生活,客观世界依旧存在着非人的要素。
aop:面相智能体编程。来源于对go语言特性,以及自身基于go语言特性并结合了具象化思想和元胞自动机的思想。本身这个aop是早就存在的。而当我看到aop的时候,就天然的与之契合,这就是我所想的。
那么对于系统化思维,也是今年对自身以往所有的一个汇总所产生的理解。
除了三大要素之外。另外还有两个方面是我今年所深刻的领会。微观与宏观。系统(架构演变)动力学。
任何一个系统,都是由三要素组成。微观个体,微观个体的组织模式,宏观功能。
而每个个体也是一个系统。而每个宏观个体,也将是另外更大宏观个体的微观组成部分。
先从物质世界观开始。从最基本的粒子开始(再微观的话,由于知识背景有限,对量子力学,弦理论了解不多),基本的微观粒子,进行组合会有我们熟悉的原子。而原子又能组成分子等等。再一层一层的到宏观天体。
这里面有个非常重要的信息。那就是种类很少的微观,一层一层的行成宏观组合。越是到宏观,宏观所展现出来的多样化就越精彩多样。
再说到计算机虚拟世界。这里面给我最深最全的理解的是《大话计算机》。与之理念相同之处就在于。在计算机世界里,最微观的就是0和1两个微观要素。现实对应的是早期的开关,然后到我们熟悉的晶体管。
通过对0和1进行编码,对应信息的表示和封装。有了命令指令,再到汇编,高级语言。
这些都是一个具体的微观,通过一系列的组织形成的宏观。对于操作系统也如是。
再到利用语言进行模块化设计,到整个软件的系统架构。
无一例外都系统化的过程。
我们生活周围的所有的一切,都是如此。
那么还有一个就是系统动力学。
什么是系统动力学?就是微观个体通过一定得组织结构链接在一起,也可以理解为架构,从而形成宏观系统。
这里面的架构,并非是静态,一成不变的。而是动态发展的。其系统架构发展的演变过程就称之为系统动力学。
说了以上这些,那这些到底能够带来些什么好处呢?以我自身这一年来的个人在具体事物上的理解来说。
设计模式与架构
从最开始的模块化,到微服务,再到领域编程,到现在的兄台。从单体服务,到分布式服务。不管按你哪个角度去看待。这些从系统化思维角度去理解,完全都可以理解为,软件系统的系统动力学的演化过程。
所有的系统都是为了生存而发生的系统动力学改变。
架构演化也好,架构生长也好,架构突变也好。都是为了生存。
在外部环境变化的情况下,任何不进行改变的系统,在这个世界上是不存在的。或者说是一定会死亡,或者已经死亡。
改变的方式有非常多种,比如分布式里面的,加机器的硬件扩展。
系统架构设计,何为好?一,一定是能够很好的适应当下环境,就是活着本身就是一种证明。二,能够对外部环境变化,有着很好的动力学演变的适应性。
所有的指标,都是为了衡量这两大要求。稳定性,可用性,可靠性,可扩展性,可运维性等等。
不好的系统架构是什么?这里无法把所有情况一一说明。但可以说一些典型。
1,软件系统架构不够好自身适应环境。那么把人作为整个系统的一部分加入系统中。常见的就是,不够自动化,加运维。这种的是非常典型的。
2,软件系统架构面对常规压力,可以正常面对。但对于高压,无法适应。这也是非常典型的情况。
3,系统架构设计不够清晰,耦合度过高。面对业务发展,无法快速灵活迭代演化成新的系统架构。这种也是非常常见的。
当然还有很多。这里列举也无法列举完全。
系统化思维里的宏观分形,分层。可以很好的应对,微服务,领域,后台、兄台、前端业务的划分理解。这里点到为止。看明白了的话,自然就一点即通。
跨领域或全新领域学习
系统化思维能够很好的帮助我们去进行跨领域或者对新领域学习。
这里我还是以我自身学习中医为例来说明。
学习中医,对于我来说,这是一个完全全新领域。几乎是没有任何知识背景。
用微观到宏观的过程来理解。
1,中医知识体系的微观是什么?其背景又是如何产生的?
中医是古人长期经验推出来的关联性知识。比如脉诊,什么样的病症对应什么样的脉象。这都是一个大数据下关联性得到的知识。https://mp.weixin.qq.com/s/qAz0cbmBqQTDyadkhC7_Nw
关于因果性知识个关联性知识的区别可见我转发的文章。
这种情况下,遵循中医知识体系。把中医基础理论作为最微观的知识点就足以。不必再往下。因为其本身的因果性,并没有揭示或者是没有完全揭示。
另外对于中药,也同样是关联性得知识。什么药治疗什么症状。在几千年的人体实验中,这种关联性知识已经非常准确。但依旧我们也有看到,其有着一些不完全精准的一面。这就是关联性知识与因果性知识的差别所在。
在这种遵循中医微观知识点的情况下,进行宏观上的诊断推测,以及对症下药。
这里所说的。面对一个全新的知识领域。
应该的顺序是,要定位清楚,哪一层面的微观知识作为基础。然后在此微观知识基础之上得微观知识的信息系统化组织,形成宏观知识。
每个行业,哪怕一个非常小的职业。常言道,行行出状元。每个行业都有着其自身行业的微观知识,再到系统化的组织经验,才能到宏观层。
互联网安全体系
最快的学习是如何的?
安全体系的微观知识依旧是计算机、网络、软件等基础。但在这基础上,在安全领域又形成了其自身的一些领域性的知识。比如威胁的识别,分为主动探测(漏洞扫描,病毒扫描,渗透测试)和被动探测(主机检测,日志监控,流量监控)等等。
快速对安全体系的了解,我们可以从宏观层面理解。再对其系统架构进行了解。
这里面说了,自下而上,自上而下的两种模式。
说说创新
我们经常提到颠覆性创新。
其实颠覆性创新,是非常难的。颠覆性创新,一定是在某个微观层面的创新,由于微观元素发生改变或者增加,才能带来宏观层面的多样性爆发。
当然这里面要注意的是这个微观是哪一个层次的。微观与宏观是相对的。
对于系统化思维,还有很多很多感悟。
时间不早了。就暂时写这些。
若感兴趣想深入一起探讨的话。也可以加我微信。
龚浩华
月牙寂道长
qq:29185807
2019年11月30日03:38:21
如果你觉得本文对你有帮助,可以转到你的朋友圈,让更多人一起学习。
原文 http://mp.weixin.qq.com/s?__biz=MzU2NDUwMjU3Ng==&mid=2247484870&idx=1&sn=bc0c095e9ee674f6dbd67ed32ce8f38c