最近接手公司服務(wù)端接口的相關(guān)編寫工作,遇到了一些問題,提出了一些想法,討論了一些問題,與項目經(jīng)理在方案選擇上有了一番爭吵(當(dāng)然,這種爭吵是家常便飯的事兒)。特此有了一些心得體會。

 

方法入?yún)⒌脑O(shè)計


 

  我們在設(shè)計程序的時候,如果使用常規(guī)的分層模型,既Controller、Service、Dao,來對項目進行分層,一定會遇到一個問題,就是不同層及之間,數(shù)據(jù)傳遞,即每個方法的“入?yún)ⅰ睉?yīng)該怎么設(shè)計。

  我曾待在一家從事銀行系統(tǒng)開發(fā)的公司,項目有一個很大的特點,它并非使用C、S、D來進行分層開發(fā),當(dāng)然這不是重點,重點是它雖然使用Java,但是大部分不以面向?qū)ο蟮男问絹砭帉懗绦?,項目中隨處可見的是static的靜態(tài)方法,幾乎什么功能都可以用靜態(tài)方法來完成,我的理解它已然是一個用java以面向過程的思想開發(fā)的項目。這個項目在方法之間傳遞數(shù)據(jù)時,不適用對象封裝,而是采取多個入?yún)⒌男问?,所以很常見的就是要一個方法,有N多個入?yún)ⅲ?個是常見、10個都不特殊。這種方式來編寫方法,有一定的缺點:

  •   在閱讀代碼的時候,經(jīng)常會不明白參數(shù)的意義,而需要仔細(xì)的去看javaDoc上的注釋,影響效率;

  •   調(diào)用一些工具時,因為不是以面向?qū)ο蟮姆绞饺ピO(shè)計程序,所以所有變量的作用域自然只在方法體內(nèi),于是對于一些需要設(shè)置參數(shù)的工具,簡單的例如:分頁工具,就需要通過一大堆的入?yún)ⅲ?jīng)常會搞不懂入?yún)⒌囊饬x,每次調(diào)用起來需要重新設(shè)置一大堆的參數(shù)值;或者使用一個Map來裝載這些參數(shù),這樣帶來的問題就是你甚至不知道有什么參數(shù)需要設(shè)置,經(jīng)常會出現(xiàn)錯誤。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式