我的系統設計之道

2021-07-26 18:22:09 字數 2395 閱讀 6523

道家說,道法自然,順其自然。任何事物,都有著自身的法則(規律),要充分的理解事物的法則(規律)後,順應這個法則(規律),則會事半功倍。

現代科學,從牛頓經典力學說起。牛頓的經典力學,則是屬於對法則的乙個抽象模式。順應,利用這個法則,近代科學發展起著重要作用。

但牛頓經典力學,在解決經典力學的方面是適用的。在量子層面,以及相對論層面,則是不試用的。

模式,何為模式。模式(pattern)其實就是解決某一類問題的方**。把解決某類問題的方法總結歸納到理論高度,那就是模式。

這也就是所謂的,適合才是最好的。

那麼從這裡開始延伸,在程式設計的時候,有經典的23種設計模式,這些設計模式,對應相應的場景。可以解決相對應的程式設計問題。

那這些設計模式之上,是不是可以再抽象出一種模式,暫稱為模式之模式。

起初,利用簡單的設計模式,如經典的單例模式,工廠模式等23設計模式,來進行程式設計,這時,只是簡單的接受前人總結的模式。缺點,模式有限。

仔細思考,其實發現,這23種設計模式,全部能夠對應到現實生活。就如最簡單的工廠模式,這個和現實生活中的是一樣的。

是否可以擺脫23設計模式的限制?是否可以轉變思想,先模擬現實模式,再來程式設計?

答案是肯定的。將需求轉變成現實模式,真正實現程式是對現實生活的模擬,然後再來實現程式。

這裡的設計,包括程式設計,架構設計。都是可以用此方案來實現。

經過對現實具象化的模擬,實現了設計思想的轉變。但如何落地呢?

在程式設計中,最熟悉的莫過於,物件導向程式設計。在架構設計上,目前最火熱的,莫過於微服務。

那麼從這兩方面,我們就可以將現實具象化實現。但其中的物件導向,對現實的模擬還缺乏很多支撐。那麼面向智慧型體程式設計aop(agent oriented programming)則可以完美實現現實具象化設計。

以上的系統,還屬於簡單系統。如設計模式中的工廠模式,角色劃分簡單,功能簡單,角色數量少,互動少。但當前it界的發展,系統越來越複雜,特別是微服務數量一多,則其造成的系統複雜性就會非常高。

那麼簡單的從辯證角度來看,有種整體與區域性的辯證方式,可以解決此種問題。

假如我們有20個微服務,如果20個微服務之間,進行通訊,那麼會形成乙個蜘蛛網一樣的網路。我們將20個微服務,化分為不同的領域,假如我們劃分為5個領域,領域組成大的微服務,那麼組織間的網路將得到極大的簡化。

那麼各個領域之下,其內部又包含幾個小的微服務,其之間有著自身的網路通訊。

這種整體與部分的辯證,也可以用到程式設計中。目前go語言結合aop設計,可以實現角色劃分。並通過領域劃分,劃分為不同的領域,在不同的領域裡包含不同的aop。不同的領域又組成大的程式。

從整理和區域性的辯證來做一些優化,只是做了一些系統的簡化處理。但依舊不能解決系統複雜度越來越大的情形。

這個情形與近代科學發展是一致的。近代科學都是以簡單系統研究為主,所出現的理論都是簡單的模式。近幾十年,複雜系統的概念將科學發展引到新的層面。

那麼我個人的思考形成過程。

從簡單的行為,到群體的行為關注。

有簡單的種群行為分析,如生物種群模型,利用微分方程來建模。最經典的就是捕魚業的持續收貨,這個只是簡單的種群模型,再複雜一點有,狼圖騰中的草原、黃羊、狼,三者的種群數量的自動調整。

這裡的是簡單的種群互相影響的行為。再複雜一點,還有群體智慧型模型。如一些群體智慧型演算法,遺傳演算法,粒子群演算法,蟻群演算法等等,但這些知識簡單的演算法。如利用到程式設計角度來看。利用的則是兩個東西,正反饋和負反饋。通過激勵與懲罰機制,形成群體的乙個智慧型。但這個需要個體到達一定的數量,形成群體。

那麼把系統資源具象成環境資源,將個體具象成黃羊、狼、螞蟻、蜜蜂等個人。整個系統便具象成了乙個生態系統。

這方面的研究還有很多,比較符合it行業的,有元胞自動機、協同學。而其中的協同學、耗散系統、超迴圈系統被統稱為新三論。也正是自組織理論。這三者的研究,可以給複雜系統的設計,提供一些理論支撐。

當前的複雜適應系統模型說的,複雜的行為並非出自複雜的基本結構, 極為有趣的複雜行為是從極為簡單的元素群中湧現出來的。生物體在共同進化過程中既合作又競爭, 從而形成了協調精密的生態系統; 原子通過形成相互間的化學鍵而尋找最小的能量形式, 從而形成分子這個眾所周知的湧現結構; 人類通過相互間的買賣和**來滿足自己的物質需要, 從而建立了市場這個無處不見的湧現結構。

從這段話來體現,it系統以後越來越複雜,是否也是可以通過構建簡單的個體模組,通過一系列的,激勵與懲罰,實現系統的自足自,讓其湧現出系統智慧型?

我個人認為,系統的演進,應該是殊途同歸的。也是道家所說道法歸一。it系統的發展,勢必會像著自組織系統發展。當前就是簡單系統向複雜系統演變的奇點。把握方向,便是把握未來。

很多東西在頭腦中,便於篇幅的原因,很多都是簡單的提下。有興趣的話,可以聯絡,互相學習。

龔浩華月牙寂-道長

qq 29185807

2023年02月09日

我的「排毒」之道

讀大學時,學到金元四大家,認識了 攻下派 的張從正,忽然間我有了一種似曾相識 相逢恨晚的感覺。因為我也一直認為許多疾病 不是所有疾病 的發生與毒素侵犯髒體有關,所以多年我一直運用自己的一套 排毒 方法自我保健。筆者認為 毒素 侵犯髒體最常見的途徑有兩條即飲食不潔和飲食不節。正所謂 病從口入 飲食不潔...

我的web系統許可權設計

普遍認為web系統開發難度要小於c s的系統,但事實上,並非如此。真正優良的web系統也需要花很大的力氣去把控安全問題。很多系統只注重了業務實現而忽略了安全問題,也有很多系統把安全問題用其他的方法在html頁面上用js做了一次轉變,比如 x幾系統,而事實上,這樣的轉變,不論是把引數加密或者是帶乙個操...

我讀《演算法之道》的體會

翻開書首先看到的是前言部分故事,一下子就為之吸引住了,故事看完了我的第一想法是本書是講演算法的,為何講起聖經中的故事來?接著往下讀,豁然開朗!原來作者是想從乙個有趣的故事引入來講程式演算法。略翻看了一下全書,發現貌似每一章都是以故事或事例引入,之後提出問題,娓娓道來。本書是從演算法的基礎講起,並講了...