前些日子有一位前輩說如果一個C#出身的專案經理來領導一群java程式員,那麼這些多半會瘋掉。java相對於C#而言開發效率比較低。
在javaWeb開發總是有一大堆的設定檔要去配置和修改,隨著工程的進展,這些設定檔的內容極具增長。比如在Struts1.2中要去配置FormBean,如果工程中Form很多的時候,配置FormBean的設定檔自然就會分開寫一個檔案,設定檔的管理從一堆一疊分離到根據不同需要來書寫,但是FormBean這些類還是無法避免,這樣導致類的數量變得龐大。
當然,面對所有的軟體開發過程中的恐慌,重複,人類藝術家們總能夠尋找到解決之道。java軟體開發的靈活性在這些地方清晰可見。有這樣的一種現狀:比如Struts +Hibernate+Spring實戰寶典啊,架構學習等等一些書中,發現作者總是有意無意的告訴讀者,這些架構的東西是為瞭解決大型項目中遇到的問題,將開發人員從重複的勞動中解救出來,更專註與項目的實際商務邏輯的處理。
程式員們從來都不缺乏時間,但是從來都不會浪費時間。架構是開發人員的自救之路,也是面對軟體危機藝術家們採取的一種解決方案。
毫無疑問,在我感到重複編寫FormBean類的時候,我總是偷一下懶,嘗試尋求新的路徑來避免這樣的工作。對於程式員來將,偷下懶的時間越多越有成就感。
架構的優勢就體現出來了。
如下代碼:
- <h1>
- 動態ActionForm
- </h1>
- <hr>
- <form action="dynaAction.do" method="post">
- 姓名:
- <input type="text" name="userName" id="userName" />
- 年齡:
- <input type="text" name="userAge" id="userAge" />
- <input type="submit" value="提交" />
- <input type="reset" name="重設">
-
- </form>
這樣的一個提交表達,當然要寫一個FormBean。可是下面的動態配置就可以避免這樣的代碼編寫。
- <!-- 配置動態ActionForm -->
- <form-beans>
- <form-bean name="dynaForm"
- type="org.apache.struts.action.DynaActionForm">
- <form-property name="userName" type="java.lang.String" />
- <form-property name="userAge" type="java.lang.Integer" />
-
- </form-bean>
設定檔中對FormBean進行配置,配置後的FormBean的類型是DynaActionForm它繼承了ActionForm因此作用是一樣的,但是這樣避免了類的數量的增加。
其實在Java開發中這樣的處理問題的思路還是很多的。Hibernate的實體映射設定檔使用註解寫在java代碼中,提高效率。JPA,Spring在具有檔案配置的同時也都採用了註解。
思來想去,面對這麼龐雜的知識點,怎樣才能從容以對?輕量級架構,重量級架構,還有什麼超輕量級架構。同一問題不同的解決方案,沒有對與錯,全在圍繞著效率,方便,開放,耦合度,易讀,安全等等展開。
當創造一樣東西的時候,並不能毀滅一樣東西,只能交給時間來處理,不過只要解決了當前最為重要最為緊迫的問題之後,我們有必要讓這個親手創造來的東西活的更久一些。
本文出自 “野馬紅塵” 部落格,謝絕轉載!