考試告一段落,該忙乎院長交與的項目了。《學生信息管理系統》,準備用struts+iBatis+spring構建,今天算是考完試后小組的第一次開會,交代了近兩個星期內的任務。我立刻將結構的想法畫成簡圖,以及計劃建議交給組長和各組員。以下是結構設計簡圖,精彩的工作由這里開始:
?
接下來是半個月左右的計劃:
下星期完成數據層到服務層的詳細類圖,其間我將確定後的實體類圖交與鄧飛,讓他們建表。
再下個星期開會+培訓後組織第一階段的編碼,我打算這樣的:首先我來建立工程,建立好包結構和服務層的所有接口、添加好所有需要的庫,也就是搭個骨架。然后我將工程文件夾、開發工具(Eclipse)、JDK安裝文件(統一JDK也很重要)、數據庫一并打包傳給每個參加編碼的人。之后開始分配任務從右至左編碼:從Sql查詢語句開始至FacadeManagerImp類結束算是完成了這個階段的任務,其間要注意代碼同步,我擔心subversion我們都沒經驗,硬要用上也不見得是好事。所以我覺得要避免代碼版本沖突就要嚴格劃分任務區域,各司其職就沒事了。可以考慮在某個FTP中為每個人都指定一個代碼文件夾,誰有新版本的代碼就傳到屬于他自己的文件夾里,并放上一個名字為更新日期的文本文檔,這樣我們每隔一段時間就上這個FTP,去每個人的文件夾里下載最新的代碼到本地覆蓋就可以了。
如上計劃完成了的話,我們幾乎算是完成了一半的工作。剩下的工作分兩種方案:一起作為一個階段做完、分兩個階段做完。
1):作為一個階段做完:業務邏輯層就是struts框架的Action層,直接編寫Action,并組織頁面流程,完成之后整個項目也就差不多了。這樣的話業務邏輯層和表現層就都交給struts來組織。
2):分為兩個階段做完:先做我們自己定義的業務邏輯層的設計和實現(不跟任何struts的api耦合)(這一層的類多,但形式單一,屬于勞動密集型,大概占總的20%的工作量),稱為“業務邏輯組件”。;然后就是結合struts來擺純的表現層,也就是最后30%的工作,其中“業務邏輯組件”中的方法要么返回某種計算結果,要么返回指示是否執行成功的true/false信息,也就是說跟struts達成“控制耦合”,Struts在這里就只管表現層。
方案1)其實屬于一般常用做法,循規蹈矩;但方案2)由于實現了獨立于任何框架的業務邏輯組件,今后如果要改表現層框架(如放棄struts用webwork或jsf),甚至想把本項目重做成C/S架構都是很方便的事情,只需要做最后30%的工作;但若是方案1)作出這樣的改動的話就要做50%的工作(業務邏輯層以上均重新構建)。
也許方案2)有點畫蛇添足,我們的項目或許做好后再也不需要做那么大的改動...這是魚和熊掌的問題...
不過決定用那個方案起碼是半個月之后的事情,現在不用著急,先完成最上面的計劃吧。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
