設(shè)計(jì)雜談
在設(shè)計(jì)時(shí)會(huì)碰到兩種類型的設(shè)計(jì),一種是框架級(jí)產(chǎn)品的設(shè)計(jì),一種是項(xiàng)目產(chǎn)品的設(shè)計(jì),在面向這兩種進(jìn)行設(shè)計(jì)時(shí)覺得還是非常不同的,框架級(jí)產(chǎn)品的設(shè)計(jì)強(qiáng)調(diào)一種通用性的抽象上,在這點(diǎn)上通常依賴開發(fā)或設(shè)計(jì)經(jīng)驗(yàn)來進(jìn)行抽象,難度不僅在此,通常框架級(jí)產(chǎn)品的設(shè)計(jì)都會(huì)面對(duì)技術(shù)性的問題,也就是說在設(shè)計(jì)階段根本就是無法進(jìn)行細(xì)化的一些部分,這種現(xiàn)象在框架級(jí)產(chǎn)品中通常出現(xiàn),這時(shí)在進(jìn)行設(shè)計(jì)時(shí)就要慎重考慮,通常按照敏捷工程的方法的話是先進(jìn)行spike,spike后再進(jìn)行相應(yīng)的設(shè)計(jì);對(duì)于項(xiàng)目產(chǎn)品的設(shè)計(jì)強(qiáng)調(diào)的是對(duì)項(xiàng)目需求的實(shí)現(xiàn),這個(gè)時(shí)候通常需要的是業(yè)務(wù)角度的抽象,當(dāng)然,這點(diǎn)也是具有難度的,通常來說項(xiàng)目產(chǎn)品上不會(huì)出現(xiàn)太多的技術(shù)難度,也不希望出現(xiàn)。
其實(shí)想想,覺得這兩種在設(shè)計(jì)上又是一樣的,需要的都是業(yè)務(wù)的抽象能力以及技術(shù)的實(shí)現(xiàn)設(shè)計(jì)能力,對(duì)于框架級(jí)產(chǎn)品的設(shè)計(jì)來講,業(yè)務(wù)的抽象能力即為軟件行業(yè)的業(yè)務(wù)的抽象,而技術(shù)的實(shí)現(xiàn)設(shè)計(jì)能力在兩者都是相同的,即當(dāng)出現(xiàn)技術(shù)難點(diǎn)時(shí)都應(yīng)選擇先進(jìn)行spike,spike后再進(jìn)行相應(yīng)的設(shè)計(jì),否則做出來的設(shè)計(jì)是沒什么意義的。
現(xiàn)在經(jīng)手了一個(gè)東西就是先經(jīng)過設(shè)計(jì),再進(jìn)行開發(fā)的,典型的瀑布方式,設(shè)計(jì)要做的非常的細(xì),覺得這種方式挺依賴系統(tǒng)設(shè)計(jì)師的,也真正的感覺到一次完整做設(shè)計(jì)的過程,應(yīng)該說,這個(gè)時(shí)候會(huì)發(fā)現(xiàn)自己的很多不足,建議系統(tǒng)設(shè)計(jì)師都經(jīng)歷一個(gè)這樣的過程,從架構(gòu)到概要到詳細(xì),要詳細(xì)到足夠編碼的程度,覺得挺容易出現(xiàn)矛盾的時(shí)候,因?yàn)橄罂蚣芗?jí)的產(chǎn)品來講最終的詳細(xì)設(shè)計(jì)可能是經(jīng)過N次抽象的具體實(shí)現(xiàn)的設(shè)計(jì),如果真的想讓其他的人僅憑文檔就讀懂,我覺得還是挺難的,同時(shí)由于框架級(jí)的產(chǎn)品通常會(huì)面臨不少的技術(shù)難點(diǎn),這個(gè)時(shí)候的設(shè)計(jì)就更是不好把握,因?yàn)闀?huì)有一些風(fēng)險(xiǎn)點(diǎn)的出現(xiàn),這個(gè)時(shí)候設(shè)計(jì)做的過細(xì)就顯得不是那么得有意義,總體而言,我還是更喜歡先做初步設(shè)計(jì),在實(shí)現(xiàn)過程不斷重構(gòu)最終形成設(shè)計(jì)的方式,覺得那樣的過程非常的好,在這樣的過程中詳細(xì)、架構(gòu)都是在不斷的被重構(gòu),設(shè)計(jì)慢慢的就會(huì)變得非常的不錯(cuò),不過這個(gè)要根據(jù)團(tuán)隊(duì)而定,只有實(shí)力較強(qiáng)的團(tuán)隊(duì)才可這么做,否則會(huì)出現(xiàn)無設(shè)計(jì)和不可控制的現(xiàn)象。
還是信奉自己的一句話:“不要求高質(zhì)量的實(shí)現(xiàn)代碼,但要求高質(zhì)量的測(cè)試代碼”,我相信一個(gè)具有優(yōu)秀習(xí)慣和掌握足夠重構(gòu)技巧、OO思想等的開發(fā)人員很容易就可以將不是高質(zhì)量的實(shí)現(xiàn)代碼變魔術(shù)般的變?yōu)楦哔|(zhì)量,但依賴于高質(zhì)量的測(cè)試代碼。
其實(shí)想想,覺得這兩種在設(shè)計(jì)上又是一樣的,需要的都是業(yè)務(wù)的抽象能力以及技術(shù)的實(shí)現(xiàn)設(shè)計(jì)能力,對(duì)于框架級(jí)產(chǎn)品的設(shè)計(jì)來講,業(yè)務(wù)的抽象能力即為軟件行業(yè)的業(yè)務(wù)的抽象,而技術(shù)的實(shí)現(xiàn)設(shè)計(jì)能力在兩者都是相同的,即當(dāng)出現(xiàn)技術(shù)難點(diǎn)時(shí)都應(yīng)選擇先進(jìn)行spike,spike后再進(jìn)行相應(yīng)的設(shè)計(jì),否則做出來的設(shè)計(jì)是沒什么意義的。
現(xiàn)在經(jīng)手了一個(gè)東西就是先經(jīng)過設(shè)計(jì),再進(jìn)行開發(fā)的,典型的瀑布方式,設(shè)計(jì)要做的非常的細(xì),覺得這種方式挺依賴系統(tǒng)設(shè)計(jì)師的,也真正的感覺到一次完整做設(shè)計(jì)的過程,應(yīng)該說,這個(gè)時(shí)候會(huì)發(fā)現(xiàn)自己的很多不足,建議系統(tǒng)設(shè)計(jì)師都經(jīng)歷一個(gè)這樣的過程,從架構(gòu)到概要到詳細(xì),要詳細(xì)到足夠編碼的程度,覺得挺容易出現(xiàn)矛盾的時(shí)候,因?yàn)橄罂蚣芗?jí)的產(chǎn)品來講最終的詳細(xì)設(shè)計(jì)可能是經(jīng)過N次抽象的具體實(shí)現(xiàn)的設(shè)計(jì),如果真的想讓其他的人僅憑文檔就讀懂,我覺得還是挺難的,同時(shí)由于框架級(jí)的產(chǎn)品通常會(huì)面臨不少的技術(shù)難點(diǎn),這個(gè)時(shí)候的設(shè)計(jì)就更是不好把握,因?yàn)闀?huì)有一些風(fēng)險(xiǎn)點(diǎn)的出現(xiàn),這個(gè)時(shí)候設(shè)計(jì)做的過細(xì)就顯得不是那么得有意義,總體而言,我還是更喜歡先做初步設(shè)計(jì),在實(shí)現(xiàn)過程不斷重構(gòu)最終形成設(shè)計(jì)的方式,覺得那樣的過程非常的好,在這樣的過程中詳細(xì)、架構(gòu)都是在不斷的被重構(gòu),設(shè)計(jì)慢慢的就會(huì)變得非常的不錯(cuò),不過這個(gè)要根據(jù)團(tuán)隊(duì)而定,只有實(shí)力較強(qiáng)的團(tuán)隊(duì)才可這么做,否則會(huì)出現(xiàn)無設(shè)計(jì)和不可控制的現(xiàn)象。
還是信奉自己的一句話:“不要求高質(zhì)量的實(shí)現(xiàn)代碼,但要求高質(zhì)量的測(cè)試代碼”,我相信一個(gè)具有優(yōu)秀習(xí)慣和掌握足夠重構(gòu)技巧、OO思想等的開發(fā)人員很容易就可以將不是高質(zhì)量的實(shí)現(xiàn)代碼變魔術(shù)般的變?yōu)楦哔|(zhì)量,但依賴于高質(zhì)量的測(cè)試代碼。
posted on 2006-02-20 20:11 BlueDavy 閱讀(2210) 評(píng)論(1) 編輯 收藏 所屬分類: 系統(tǒng)設(shè)計(jì)