設(shè)計(jì)模式是程序面向?qū)ο蟮慕?jīng)常討論一個(gè)問(wèn)題,用與不用,爭(zhēng)執(zhí)也頗多,最常見(jiàn)的設(shè)計(jì)模式就是MVC,是很多新手入門(mén)反復(fù)練習(xí)的一個(gè)模式,M指的是Model層,一般指的是數(shù)據(jù)庫(kù)連接層,數(shù)據(jù)庫(kù)的行為動(dòng)作都在這個(gè)層面完成,V指的是View層,也就是視圖層,界面交互的大部分邏輯在此處理,C指的是Controller,指的是控制器,主要的功能是分發(fā)與路由。很多人會(huì)疑問(wèn),為什么我要這些設(shè)計(jì)模式呢?面向過(guò)程的程序執(zhí)行效率不是很快,為何還要條條框框。其實(shí)可以用一句話來(lái)解釋,無(wú)規(guī)矩不成方圓。
有規(guī)矩的程序就像一篇詩(shī)文一樣,有理有據(jù),有情懷,有感觸,能引起共鳴。如果你只把程序當(dāng)作完成一個(gè)項(xiàng)目而言的話,程序只是你的工具,但是你把程序當(dāng)作成一件藝術(shù)品進(jìn)行雕塑的時(shí)候,好像是在完成一件優(yōu)美的作品一樣。藝術(shù)的靈感來(lái)自生活,程序的很多思路設(shè)計(jì)也是一樣,譬如常說(shuō)的工廠設(shè)計(jì)模式,最常見(jiàn)的場(chǎng)景就是語(yǔ)音呼叫,我們只要告訴手機(jī),想要打開(kāi)哪個(gè)app,它就會(huì)為我們打開(kāi)。在則說(shuō)單例模式,windows的回收站就是一個(gè)例子,在一個(gè)內(nèi)存中,只創(chuàng)建一個(gè)對(duì)象,主要目的是節(jié)省資源。還有我們?cè)谡曳孔拥臅r(shí)候,一般是房東委托中介出租房子,這樣子的關(guān)系就構(gòu)成了一個(gè)委托代理設(shè)計(jì)模式。類似的例子很多。
設(shè)計(jì)模式的目的是復(fù)用,便于程序的維護(hù),管理。在完成相同的一件事,老司機(jī)跟新手最大的差別是,老司機(jī)解決問(wèn)題會(huì)較為規(guī)范,面面俱到。
那設(shè)計(jì)模式跟項(xiàng)目管理有什么關(guān)系呢?
項(xiàng)目管理也是在建模的過(guò)程。
一個(gè)好的PRD對(duì)于項(xiàng)目管理的好處是顯而易見(jiàn),交互,前端程序員,后端程序員按照這個(gè)規(guī)范在規(guī)定的項(xiàng)目時(shí)間完成,迅速上線,接受市場(chǎng)檢驗(yàn),特別是在跑馬圈地的互聯(lián)網(wǎng)洪流中,快速占領(lǐng)市場(chǎng)尤為重要,有一種說(shuō)法是劣幣驅(qū)逐良幣,在市場(chǎng)的初期,我們不能等萬(wàn)事具備在角逐市場(chǎng),要先發(fā)致人。
但是這里并不鼓勵(lì)把PRD做到100%保真,有些產(chǎn)品經(jīng)理Axure玩的特別溜,但是在程序開(kāi)發(fā)過(guò)程中,需求的變動(dòng)性很大,這個(gè)PRD很有可能推掉從來(lái),這個(gè)時(shí)候就只能哭了。所以PRD能做到60%就可以了,在規(guī)定時(shí)間產(chǎn)品上線才是硬道理。
這樣子建模之后,好的保留,壞的記錄,避免下次出現(xiàn)同樣的錯(cuò)誤,使得我們項(xiàng)目能夠更加的高效。
微信公眾號(hào):諸行無(wú)宇,由研發(fā)脫坑入坑產(chǎn)品,堅(jiān)持原創(chuàng),分享各種入坑經(jīng)驗(yàn)。