在博客中我也看到了好多關(guān)于系統(tǒng)框架的文章,就象有些朋友說的,這些系統(tǒng)框架大同小異,一般是分為數(shù)據(jù)訪問層、實體層、業(yè)務(wù)邏輯層、業(yè)務(wù)外觀層、表示層。然后就是這些層與層之間的調(diào)用,這些我想對于做過稍大一點的項目、或者小型以上團(tuán)隊開發(fā)的項目,都是會考慮到這些分層模式帶來的系統(tǒng)擴(kuò)展性優(yōu)勢。
有些朋友都建議加一個common層,把一些共公的類與方法集中在一起,讓大家一起調(diào)用,可以減少重復(fù)代碼,這個我也是很支持的,也是這樣做的。
我相信目前擺在我們面前的,已經(jīng)不是這些系統(tǒng)框架的問題了,而就是這些結(jié)構(gòu)中體現(xiàn)出來的開發(fā)模式的問題。
大家所說的要把公共的代碼放在一起,這就是“重構(gòu)”所要體現(xiàn)的思想,重構(gòu)就是為了讓代碼更具的擴(kuò)展性、維護(hù)性,能減少重復(fù)代碼,這可以從根本上提高代碼的效率并減少修改導(dǎo)致的BUG惡性循環(huán)。
重構(gòu)一般發(fā)生在什么時候?
代碼設(shè)計期:這要求設(shè)計人員把公用的方法總結(jié)出來,放在公用的模塊中,生成文檔或是通過其他方式,反正就是通知大家這些公用方法,而這是非常有限的,設(shè)計人員無法思考出所有的公用模塊與方法,相反,這些只是極小的一部分,因為更多的重構(gòu)應(yīng)該發(fā)生在下面。
代碼開發(fā)時:當(dāng)我們第一次寫一段代碼時不會注意,寫第二遍時我們會想:算了再寫一遍吧。準(zhǔn)備寫第三遍時,我們必須要醒悟過來,這些相同的代碼可以放在一個公用的方法中調(diào)用,對,在第三次時我想我們是這樣做,因為你現(xiàn)在這樣做,不僅僅是為了現(xiàn)在,而是為了將來。我們就會寫成公用方法,并一定要把原來的兩個方法采用“調(diào)用”的方式,可千萬不要偷懶,誰也無法保證今后不會修改這個函數(shù),而如果真的修改了,你沒有能力找出最先的那兩段代碼了,惡夢從此開始。
有些朋友都建議加一個common層,把一些共公的類與方法集中在一起,讓大家一起調(diào)用,可以減少重復(fù)代碼,這個我也是很支持的,也是這樣做的。
我相信目前擺在我們面前的,已經(jīng)不是這些系統(tǒng)框架的問題了,而就是這些結(jié)構(gòu)中體現(xiàn)出來的開發(fā)模式的問題。
大家所說的要把公共的代碼放在一起,這就是“重構(gòu)”所要體現(xiàn)的思想,重構(gòu)就是為了讓代碼更具的擴(kuò)展性、維護(hù)性,能減少重復(fù)代碼,這可以從根本上提高代碼的效率并減少修改導(dǎo)致的BUG惡性循環(huán)。
重構(gòu)一般發(fā)生在什么時候?
代碼設(shè)計期:這要求設(shè)計人員把公用的方法總結(jié)出來,放在公用的模塊中,生成文檔或是通過其他方式,反正就是通知大家這些公用方法,而這是非常有限的,設(shè)計人員無法思考出所有的公用模塊與方法,相反,這些只是極小的一部分,因為更多的重構(gòu)應(yīng)該發(fā)生在下面。
代碼開發(fā)時:當(dāng)我們第一次寫一段代碼時不會注意,寫第二遍時我們會想:算了再寫一遍吧。準(zhǔn)備寫第三遍時,我們必須要醒悟過來,這些相同的代碼可以放在一個公用的方法中調(diào)用,對,在第三次時我想我們是這樣做,因為你現(xiàn)在這樣做,不僅僅是為了現(xiàn)在,而是為了將來。我們就會寫成公用方法,并一定要把原來的兩個方法采用“調(diào)用”的方式,可千萬不要偷懶,誰也無法保證今后不會修改這個函數(shù),而如果真的修改了,你沒有能力找出最先的那兩段代碼了,惡夢從此開始。