架構(gòu)設(shè)計的基本功,你了解多少?

內(nèi)功

最近太忙了,忙得沒有時間思考和總結(jié)。近大半年一直在做架構(gòu)設(shè)計和架構(gòu)且談起架構(gòu)設(shè)計,剛好有許多心得想分享給大家。談起架構(gòu)設(shè)計,腦海里如果沒有出現(xiàn)架構(gòu)設(shè)計的六大原則、康威定律,那應(yīng)該是一個還沒來得及修煉內(nèi)功的架構(gòu)師。沒聽過的讀者,可能會希望我給大家結(jié)合案例來普及基本知識,作為作者的我也比較懶,就簡單地給大家扒點概念,更多的內(nèi)容還是靠大家自行百度或谷歌了。

  • 架構(gòu)設(shè)計的六大原則

單一職責(zé)原則(Single Responsibility Principle - SRP)
開放封閉原則(Open Closed Principle - OCP)
里氏替換原則(Liskov Substitution Principle - LSP)
最少知識原則(Least Knowledge Principle - LKP)
接口隔離原則(Interface Segregation Principle - ISP)
依賴倒置原則(Dependence Inversion Principle - DIP)

  • 康威定律

第一定律 組織溝通方式會通過系統(tǒng)設(shè)計表達(dá)出來。
第二定律 時間再多一件事情也不可能做的完美,但總有時間做完一件事情。
第三定律 線型系統(tǒng)和線型組織架構(gòu)間有潛在的異質(zhì)同態(tài)特性。
第四定律 大的系統(tǒng)組織總是比小系統(tǒng)更傾向于分解。

那除了上述的兩大神器外,談架構(gòu)設(shè)計的時候,你會想到什么?
……
其實讀者想到啥,我壓根也不知道-。-。開個玩笑,別錘我...

干貨

浸淫了大半年的架構(gòu)迭代,外加業(yè)界新興的理念越來越多。我對架構(gòu)設(shè)計的理解也是越來越蓬勃,越來越深入。提起架構(gòu)設(shè)計,我的想法不再是用什么框架,用什么數(shù)據(jù)庫,用什么新技術(shù),而是...

先想想架構(gòu)設(shè)計的業(yè)務(wù)是什么?
再想想架構(gòu)設(shè)計的組織與流程是什么?
其次想想架構(gòu)設(shè)計的數(shù)據(jù)有什么?
然后想想架構(gòu)設(shè)計的系統(tǒng)是什么?
最后想想架構(gòu)設(shè)計能整合哪些外部資源?

趕緊拿小本本記下來,上面幾點考試要考!

1. 架構(gòu)設(shè)計的業(yè)務(wù)是什么?

有人說這個架構(gòu)設(shè)計的業(yè)務(wù)不是有業(yè)務(wù)專家、BA在梳理嘛,我操這個心干嘛呢?非也,好的架構(gòu)師有時候需要比業(yè)務(wù)專家、BA還要專業(yè),只有足夠的深入業(yè)務(wù),了解業(yè)務(wù),才能進(jìn)行好的架構(gòu)設(shè)計。

這讓我想到一個產(chǎn)品設(shè)計里面一個非常經(jīng)典的MVP案例,即原始用戶的需求是什么,業(yè)務(wù)是什么?這個MVP背后的真實需求其實是“出行”,幫助用戶更好的出行。那么一個滑板、自行車、摩托車等等就是比較正確的最小可行性產(chǎn)品。我們架構(gòu)同樣需要了解業(yè)務(wù)真實的訴求,才能輔助我們更好地設(shè)計。

image.png

只有深入了解業(yè)務(wù),明確業(yè)務(wù)的初衷和目的,我們才有信心來設(shè)計符合產(chǎn)品、符合業(yè)務(wù)的架構(gòu),也只有清晰地了解業(yè)務(wù),才能給我們的架構(gòu)設(shè)計規(guī)劃出一條合理的迭代路線,而不是每到一個階段就因為業(yè)務(wù)推翻重構(gòu)。

只了解當(dāng)下的業(yè)務(wù),設(shè)計出的系統(tǒng)肯定是能解決當(dāng)前用戶訴求的,而了解業(yè)務(wù)的未來,設(shè)計出的系統(tǒng)肯定是靈活有度,相當(dāng)持久的。

2. 架構(gòu)設(shè)計的組織與流程是什么?

image

如果剛剛有去認(rèn)真回顧康威定律的話,你就會發(fā)現(xiàn)架構(gòu)的設(shè)計與組織是密不可分的。往通俗了說,什么人用你設(shè)計的

系統(tǒng)架構(gòu)的設(shè)計源于業(yè)務(wù)組織形態(tài),也將先于組織形態(tài)。

起初,你的架構(gòu)設(shè)計會隨著組織的考慮,符合各種崗位之間的便捷和協(xié)作,而隨著業(yè)務(wù)形態(tài)的改變,技術(shù)的先進(jìn)性,技術(shù)會反過來影響組織的。

舉個例子,自從大數(shù)據(jù)、人工智能如火如荼,智能客服、RPA等技術(shù)的出現(xiàn),給架構(gòu)和系統(tǒng)添加了許多Niubility的元素的同時,更是提升了實體組織之間的協(xié)作和效率。

我在梳理業(yè)務(wù)組織形態(tài)的時候,發(fā)現(xiàn)原本由于業(yè)務(wù)組織的不穩(wěn)定性,反過來影響系統(tǒng)的邊界不合理,增加系統(tǒng)的設(shè)計的復(fù)雜度,我反過來推動業(yè)務(wù)的組織固化以及崗位的合理能動性,讓系統(tǒng)與業(yè)務(wù)形態(tài)更加靈活和契合。

3. 架構(gòu)設(shè)計的數(shù)據(jù)有什么?

image

這里的數(shù)據(jù)主要指的我們在系統(tǒng)中運作的數(shù)據(jù)模型、數(shù)據(jù)實體,甚至主數(shù)據(jù)。有讀者肯定會疑問為什么談架構(gòu)設(shè)計的時候要把數(shù)據(jù)也考慮上呢?可能是你還沒被大數(shù)據(jù)、數(shù)據(jù)中臺這些理念熏陶到,沒有g(shù)et到這里面的一些精華和慘痛的教訓(xùn)。數(shù)據(jù)這塊真的太重要了,數(shù)據(jù)的模型設(shè)計合不合理,將會影響你的架構(gòu)設(shè)計是否能夠持續(xù)。
之前談的很火的業(yè)務(wù)中臺,背后最核心的就是業(yè)務(wù)模型實體的資產(chǎn)的積累和業(yè)務(wù)能力的積累,業(yè)務(wù)模型這塊和我們的數(shù)據(jù)質(zhì)量息息相關(guān)。

架構(gòu)中要考慮的數(shù)據(jù)不單單只是業(yè)務(wù)模型實體,還有考慮數(shù)據(jù)之間的串聯(lián)、數(shù)據(jù)之間的契約與標(biāo)準(zhǔn),沒有考慮好的話,在后期發(fā)展過程就會成為一輪又一輪的數(shù)據(jù)治理。

這里推薦大家可以看一些數(shù)據(jù)中臺相關(guān)的文章,作者比價懶,就不推薦了-。-

4. 結(jié)合上述的要求,系統(tǒng)怎么設(shè)計架構(gòu)?

image

終于到大家非常擅長的PPT架構(gòu)師設(shè)計環(huán)節(jié),用什么框架體系,用什么技術(shù)體系,詳細(xì)大家還是可以信手拈來的。這里主要還是提一些要注意的點

架構(gòu)的選型與團(tuán)隊的契合度
架構(gòu)的設(shè)計與業(yè)務(wù)形態(tài)的契合度
架構(gòu)的設(shè)計與運維的復(fù)雜程度
架構(gòu)的實現(xiàn)與投入產(chǎn)出比

最重要一點,一定讓業(yè)務(wù)、BA、團(tuán)隊成員能夠清晰地了解到你的設(shè)計思考、架構(gòu)迭代考慮和成本投入,別為了架構(gòu)而架構(gòu)設(shè)計。

image

愿每個讀者都能成為一個偉大的架構(gòu)師,是的,不脫發(fā)的那種架構(gòu)師。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容