架構(gòu)設(shè)計(jì)思維原則

無(wú)論我們是從零開(kāi)始構(gòu)建系統(tǒng),還是重構(gòu)系統(tǒng),其實(shí)架構(gòu)都在系統(tǒng)了。
如果你有主動(dòng)做架構(gòu)設(shè)計(jì),那肯定需要遵循一定的原則去探索和發(fā)現(xiàn)架構(gòu)。
如果你沒(méi)有做架構(gòu)設(shè)計(jì),但根據(jù)行業(yè)通用標(biāo)準(zhǔn)或者經(jīng)驗(yàn),用一套代碼(開(kāi)源或內(nèi)部模板)來(lái)開(kāi)發(fā)。其實(shí)這里面就會(huì)有架構(gòu)設(shè)計(jì),只是你沒(méi)有意識(shí)到。

當(dāng)然要主動(dòng)做架構(gòu)設(shè)計(jì),被動(dòng)是要挨打的。所謂“做事不能沒(méi)有原則”,主動(dòng)做架構(gòu)設(shè)計(jì),首先要懂設(shè)計(jì)思維的原則。下面將講解設(shè)計(jì)思維的原則。

設(shè)計(jì)思維的原則

設(shè)計(jì)思維的原則那就像《孫子兵法》總編一樣,指導(dǎo)我們?nèi)绾嗡伎己徒鉀Q問(wèn)題的方向。這里我們參考下《Design Thinking:Understand-Improve-Apply》書(shū)中的四條基本的設(shè)計(jì)思維原則:
1.以人為本:設(shè)計(jì)的本質(zhì)是社交。
2.推遲決策:推遲不確定的決策。
3.善于借鑒:所有的設(shè)計(jì)都是在已有設(shè)計(jì)基礎(chǔ)上的重新設(shè)計(jì)和調(diào)整創(chuàng)新。
4.化虛為實(shí):讓想法具體化、有形化、以便于溝通交流。

設(shè)計(jì)思維原則的四字真言還是有點(diǎn)抽象的,下面說(shuō)明下我的個(gè)人理解,以及該如何運(yùn)用這些原則。

以人為本

為什么說(shuō)設(shè)計(jì)的本質(zhì)是社交呢?因?yàn)樵O(shè)計(jì)本身是圍繞人開(kāi)展的工作,必然蘊(yùn)含人的思想和意圖在里面,而且特別是軟件架構(gòu)設(shè)計(jì)必然是需要多人參與和溝通的。設(shè)計(jì)的每個(gè)決策都影響著系統(tǒng)的利益相關(guān)方。如果設(shè)計(jì)不能被大家所理解,那肯定不會(huì)是好的作品(系統(tǒng))。

架構(gòu)設(shè)計(jì)是需要與利益相關(guān)方協(xié)作完成的,設(shè)計(jì)的好壞也取決于與利益相關(guān)方協(xié)作情況。因此,架構(gòu)師要有同理心,懂得換位思考和溝通,尊重利益相關(guān)方(開(kāi)發(fā)人員、項(xiàng)目經(jīng)理、業(yè)務(wù)需求方、系統(tǒng)操作者等),傾聽(tīng)他們的心聲,理解他們的意圖。這樣,架構(gòu)設(shè)計(jì)才能發(fā)揮它應(yīng)有的作用。

推遲決策

開(kāi)發(fā)軟件過(guò)程中最忌模棱兩可、不確定的需求、設(shè)計(jì)等,因?yàn)榭赡軙?huì)有重大的項(xiàng)目風(fēng)險(xiǎn)。因此,設(shè)計(jì)的決策必須是明確的。如果設(shè)計(jì)的決策存在無(wú)法明確的需求、設(shè)計(jì)、人員情況等因素,則不到不得不決策的時(shí)刻,就不要急著做出最終的決策。這樣我們就能更從容地面對(duì)開(kāi)發(fā)環(huán)境的變化。

善于借鑒

善于借鑒就是告誡我們不要重復(fù)造“輪子”了。例如,很多開(kāi)發(fā)部門(mén)人員比較多的公司,如果沒(méi)有做好技術(shù)知識(shí)沉淀,很容易公司內(nèi)部就出現(xiàn)重復(fù)造“輪子”的情況。善于借鑒的前提是你了解或熟悉很多“輪子”,所以建議大家做好技術(shù)知識(shí)沉淀,多了解行業(yè)技術(shù)。

做架構(gòu)設(shè)計(jì)之前,我們應(yīng)該盡量多花點(diǎn)時(shí)間研究和參考已有的設(shè)計(jì),而不是從零開(kāi)始做設(shè)計(jì)。借鑒前人的經(jīng)驗(yàn),就能避雷和高效地進(jìn)行架構(gòu)設(shè)計(jì)。

化虛為實(shí)

呈現(xiàn)架構(gòu)設(shè)計(jì)的方式有很多種,可能對(duì)開(kāi)發(fā)人員來(lái)說(shuō),看下代碼就可以了,但不同的角色對(duì)架構(gòu)設(shè)計(jì)的理解水平是不一樣的。對(duì)于代碼形式的架構(gòu)設(shè)計(jì),只有技術(shù)人員能看懂,對(duì)于其他人來(lái)說(shuō)就難以理解。

因此,為了講解架構(gòu)設(shè)計(jì),需要針對(duì)不同的利益相關(guān)方使用不同的展現(xiàn)方式。例如,制作原型或簡(jiǎn)單的模型,流程圖,時(shí)序圖,概念圖等等。反正就是以方便他人理解架構(gòu)設(shè)計(jì)為目的地進(jìn)行呈現(xiàn)。

總結(jié)

設(shè)計(jì)思維原則是我們?cè)O(shè)計(jì)架構(gòu)的“孫子兵法”總編。它指明了設(shè)計(jì)架構(gòu)的方針,幫助我們正確地進(jìn)行設(shè)計(jì)。

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

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

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