架構(gòu)設(shè)計(jì)一定要做?

0 評(píng)論 2980 瀏覽 0 收藏 4 分鐘

本文主要討論了是否需要進(jìn)行軟件架構(gòu)設(shè)計(jì)的問(wèn)題,并闡述了做好架構(gòu)設(shè)計(jì)的重要性以及不當(dāng)之處可能會(huì)引發(fā)的一系列問(wèn)題。

在大廠,架構(gòu)設(shè)計(jì)會(huì)提到非常重要的地位,但是在一些小公司,沒(méi)有做架構(gòu)設(shè)計(jì),似乎也沒(méi)什么問(wèn)題,在初創(chuàng)階段,過(guò)分強(qiáng)調(diào)架構(gòu)設(shè)計(jì),不一定能帶來(lái)好的收益。

架構(gòu)設(shè)計(jì)的越復(fù)雜,技術(shù)架構(gòu)的復(fù)雜度就會(huì)越高,前期打磨的時(shí)間長(zhǎng),如果商業(yè)化有窗口期,可能我們就失去了進(jìn)入商業(yè)的第一張船票。

另外,架構(gòu)的復(fù)雜性,會(huì)導(dǎo)致后續(xù)系統(tǒng)維護(hù)的成本增加,穩(wěn)定性減弱。

在前司,就因?yàn)閺?fù)雜的架構(gòu)系統(tǒng),導(dǎo)致了一個(gè)系統(tǒng)出了問(wèn)題,牽連到了很多系統(tǒng),白白流失了很多銀子。

01

不做架構(gòu)設(shè)計(jì)會(huì)有什么問(wèn)題?

1.應(yīng)用邊界模糊

研發(fā)同學(xué)憑感覺(jué)可拆分系統(tǒng), 也沒(méi)有基于當(dāng)前的業(yè)務(wù),導(dǎo)致系統(tǒng)進(jìn)入無(wú)序狀態(tài),大幅降低開(kāi)發(fā)效率。

2.缺乏模塊化設(shè)計(jì)

所有模塊的代碼都雜糅在一起,沒(méi)有明確的劃分,很容易導(dǎo)致一個(gè)小小的改動(dòng),牽一發(fā)而動(dòng)全身,很難拓展,還容易出bug。

3.團(tuán)隊(duì)協(xié)作效率低

因?yàn)楦髯缘倪吔绮磺逦瑢?dǎo)致開(kāi)發(fā)、產(chǎn)品之間容易扯皮,影響開(kāi)發(fā)效率和產(chǎn)品交付時(shí)間。

4.技術(shù)架構(gòu)失控

不同研發(fā)團(tuán)隊(duì)用不同的技術(shù)架構(gòu),有些技術(shù)架構(gòu)不太成熟,導(dǎo)致了一些bug,或者系統(tǒng)的不穩(wěn)定。

02

架構(gòu)設(shè)計(jì)是為了解決什么??核心目的是為了解決系統(tǒng)的復(fù)雜度帶來(lái)的問(wèn)題模塊抽象化,相互之間解耦。

1.需求復(fù)雜

需求越復(fù)雜,業(yè)務(wù)流程也會(huì)變得復(fù)雜,同樣技術(shù)架構(gòu)也會(huì)變得很復(fù)雜。我們需要從復(fù)雜的邏輯中,抽象出單一的模型出來(lái),盡可能保持各個(gè)模塊之間的獨(dú)立。

2.高并發(fā)等場(chǎng)景的抗壓能力

系統(tǒng)越復(fù)雜,抗壓能力就要越強(qiáng),高并發(fā)、可拓展性、性能要求等等。在好的架構(gòu)上,抗壓能力更強(qiáng)。

3.延長(zhǎng)系統(tǒng)的使用壽命

為什么公司不定時(shí)就要重構(gòu),核心原因就是架構(gòu)不適合當(dāng)前的業(yè)務(wù)發(fā)展了。所以,好的技術(shù)架構(gòu),考慮了未來(lái)的業(yè)務(wù)場(chǎng)景,加入到了當(dāng)前的設(shè)計(jì)架構(gòu)中,會(huì)使得系統(tǒng)的使用壽命適當(dāng)延長(zhǎng)。業(yè)務(wù)變革比如公司原來(lái)做垂直電商,后面又改成平臺(tái)電商,那有些架構(gòu)就要調(diào)整,不然后續(xù)無(wú)法延展。

本文由人人都是產(chǎn)品經(jīng)理作者【蔡錦?!?,微信公眾號(hào):【錦海說(shuō)】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來(lái)自Unsplash,基于 CC0 協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒(méi)評(píng)論,等你發(fā)揮!