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

 

方法入參的設計


 

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

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

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

  •   調用一些工具時,因為不是以面向對象的方式去設計程序,所以所有變量的作用域自然只在方法體內,于是對于一些需要設置參數的工具,簡單的例如:分頁工具,就需要通過一大堆的入參,經常會搞不懂入參的意義,每次調用起來需要重新設置一大堆的參數值;或者使用一個Map來裝載這些參數,這樣帶來的問題就是你甚至不知道有什么參數需要設置,經常會出現錯誤。

延伸閱讀

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