本文csdn博客链接:http://blog.csdn.net/screscent/article/details/54947535
本文qq空间链接:http://user.qzone.qq.com/29185807/blog/1486624586
微信公众号文章链接:http://mp.weixin.qq.com/s/ObWO2xdN2UAvNRGOyeidOg
道家说,道法自然,顺其自然。任何事物,都有着自身的法则(规律),要充分的理解事物的法则(规律)后,顺应这个法则(规律),则会事半功倍。
现代科学,从牛顿经典力学说起。牛顿的经典力学,则是属于对法则的一个抽象模式。顺应,利用这个法则,近代科学发展起着重要作用。
但牛顿经典力学,在解决经典力学的方面是适用的。在量子层面,以及相对论层面,则是不试用的。
模式,何为模式。模式(Pattern)其实就是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,那就是模式。
这也就是所谓的,适合才是最好的。
那么从这里开始延伸,在程序设计的时候,有经典的23种设计模式,这些设计模式,对应相应的场景。可以解决相对应的程序设计问题。
那这些设计模式之上,是不是可以再抽象出一种模式,暂称为模式之模式。
起初,利用简单的设计模式,如经典的单例模式,工厂模式等23设计模式,来进行程序设计,这时,只是简单的接受前人总结的模式。缺点,模式有限。
仔细思考,其实发现,这23种设计模式,全部能够对应到现实生活。就如最简单的工厂模式,这个和现实生活中的是一样的。
是否可以摆脱23设计模式的限制?是否可以转变思想,先模拟现实模式,再来程序设计?
答案是肯定的。将需求转变成现实模式,真正实现程序是对现实生活的模拟,然后再来实现程序。
这里的设计,包括程序设计,架构设计。都是可以用此方案来实现。
经过对现实具象化的模拟,实现了设计思想的转变。但如何落地呢?
在程序设计中,最熟悉的莫过于,面向对象编程。在架构设计上,目前最火热的,莫过于微服务。
那么从这两方面,我们就可以将现实具象化实现。但其中的面向对象,对现实的模拟还缺乏很多支撑。那么面向智能体编程Aop(Agent Oriented Programming)则可以完美实现现实具象化设计。
以上的系统,还属于简单系统。如设计模式中的工厂模式,角色划分简单,功能简单,角色数量少,交互少。但当前IT界的发展,系统越来越复杂,特别是微服务数量一多,则其造成的系统复杂性就会非常高。
那么简单的从辩证角度来看,有种整体与局部的辩证方式,可以解决此种问题。
假如我们有20个微服务,如果20个微服务之间,进行通信,那么会形成一个蜘蛛网一样的网络。我们将20个微服务,化分为不同的领域,假如我们划分为5个领域,领域组成大的微服务,那么组织间的网络将得到极大的简化。
那么各个领域之下,其内部又包含几个小的微服务,其之间有着自身的网络通信。
这种整体与部分的辩证,也可以用到程序设计中。目前go语言结合aop设计,可以实现角色划分。并通过领域划分,划分为不同的领域,在不同的领域里包含不同的aop。不同的领域又组成大的程序。
从整理和局部的辩证来做一些优化,只是做了一些系统的简化处理。但依旧不能解决系统复杂度越来越大的情形。
这个情形与近代科学发展是一致的。近代科学都是以简单系统研究为主,所出现的理论都是简单的模式。近几十年,复杂系统的概念将科学发展引到新的层面。
那么我个人的思考形成过程。
从简单的行为,到群体的行为关注。
有简单的种群行为分析,如生物种群模型,利用微分方程来建模。最经典的就是捕鱼业的持续收货,这个只是简单的种群模型,再复杂一点有,狼图腾中的草原、黄羊、狼,三者的种群数量的自动调整。
这里的是简单的种群互相影响的行为。再复杂一点,还有群体智能模型。如一些群体智能算法,遗传算法,粒子群算法,蚁群算法等等,但这些知识简单的算法。如利用到程序设计角度来看。利用的则是两个东西,正反馈和负反馈。通过激励与惩罚机制,形成群体的一个智能。但这个需要个体到达一定的数量,形成群体。
那么把系统资源具象成环境资源,将个体具象成黄羊、狼、蚂蚁、蜜蜂等个人。整个系统便具象成了一个生态系统。
这方面的研究还有很多,比较符合IT行业的,有元胞自动机、协同学。而其中的协同学、耗散系统、超循环系统被统称为新三论。也正是自组织理论。这三者的研究,可以给复杂系统的设计,提供一些理论支撑。
当前的复杂适应系统模型说的,复杂的行为并非出自复杂的基本结构, 极为有趣的复杂行为是从极为简单的元素群中涌现出来的。生物体在共同进化过程中既合作又竞争, 从而形成了协调精密的生态系统; 原子通过形成相互间的化学键而寻找最小的能量形式, 从而形成分子这个众所周知的涌现结构; 人类通过相互间的买卖和贸易来满足自己的物质需要, 从而创建了市场这个无处不见的涌现结构。
从这段话来体现,IT系统以后越来越复杂,是否也是可以通过构建简单的个体模块,通过一系列的,激励与惩罚,实现系统的自足自,让其涌现出系统智能?
我个人认为,系统的演进,应该是殊途同归的。也是道家所说道法归一。IT系统的发展,势必会像着自组织系统发展。当前就是简单系统向复杂系统演变的奇点。把握方向,便是把握未来。
很多东西在头脑中,便于篇幅的原因,很多都是简单的提下。有兴趣的话,可以联系,互相学习。
龚浩华
月牙寂-道长
Qq 29185807
2017年02月09日
如果你觉得本文对你有帮助,可以转到你的朋友圈,让更多人一起学习。
第一时间获取文章,可以关注本人公众号:月牙寂道长,也可以扫码关注