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

 

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


 

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

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

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

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

延伸閱讀

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