前些日子有一位前輩說如果一個C#出身的專案經理來領導一群java程式設計師,那麼這些多半會瘋掉。java相對於C#而言開發效率比較低。

    在javaWeb開發總是有一大堆的配置檔案要去配置和修改,隨著工程的進展,這些配置檔案的內容極具增長。比如在Struts1.2中要去配置FormBean,如果工程中Form很多的時候,配置FormBean的配置檔案自然就會分開寫一個檔案,配置檔案的管理從一堆一疊分離到根據不同需要來書寫,但是FormBean這些類還是無法避免,這樣導致類的數量變得龐大。

    當然,面對所有的軟體開發過程中的恐慌,重複,人類藝術家們總能夠尋找到解決之道。java軟體開發的靈活性在這些地方清晰可見。有這樣的一種現狀:比如Struts +Hibernate+Spring實戰寶典啊,框架學習等等一些書中,發現作者總是有意無意的告訴讀者,這些框架的東西是為了解決大型專案中遇到的問題,將開發人員從重複的勞動中解救出來,更專注與專案的實際業務邏輯的處理。

    程式設計師們從來都不缺乏時間,但是從來都不會浪費時間。框架是開發人員的自救之路,也是面對軟體危機藝術家們採取的一種解決方法。

    毫無疑問,在我感到重複編寫FormBean類的時候,我總是偷一下懶,嘗試尋求新的路徑來避免這樣的工作。對於程式設計師來將,偷下懶的時間越多越有成就感。

   框架的優勢就體現出來了。

   如下程式碼:

   

  1. <h1> 
  2.             動態ActionForm 
  3.         </h1> 
  4.         <hr> 
  5.         <form action="dynaAction.do" method="post"> 
  6.             姓名: 
  7.             <input type="text" name="userName" id="userName" /> 
  8.             年齡: 
  9.             <input type="text" name="userAge" id="userAge" /> 
  10.             <input type="submit" value="提交" /> 
  11.             <input type="reset" name="重置"> 
  12.  

  1.         </form> 

   這樣的一個提交表達,當然要寫一個FormBean。可是下面的動態配置就可以避免這樣的程式碼編寫。

 

  1. <!-- 配置動態ActionForm --> 
  2.     <form-beans> 
  3.         <form-bean name="dynaForm" 
  4.             type="org.apache.struts.action.DynaActionForm"> 
  5.             <form-property name="userName" type="java.lang.String" /> 
  6.             <form-property name="userAge" type="java.lang.Integer" /> 
  7.  

  1.         </form-bean> 

    配置檔案中對FormBean進行配置,配置後的FormBean的型別是DynaActionForm它繼承了ActionForm因此作用是一樣的,但是這樣避免了類的數量的增加。

    其實在Java開發中這樣的處理問題的思路還是很多的。Hibernate的實體對映配置檔案使用註解寫在java程式碼中,提高效率。JPA,Spring在具有檔案配置的同時也都採用了註解。

    思來想去,面對這麼龐雜的知識點,怎樣才能從容以對?輕量級框架,重量級框架,還有什麼超輕量級框架。同一問題不同的解決方法,沒有對與錯,全在圍繞著效率,方便,開放,耦合度,易讀,安全等等展開。

    當創造一樣東西的時候,並不能毀滅一樣東西,只能交給時間來處理,不過只要解決了當前最為重要最為緊迫的問題之後,我們有必要讓這個親手創造來的東西活的更久一些。