熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

從Spring Struts到Grails

2022-06-13   來源: Java開源技術 

  雖然網上大量有人在宣傳從Spring+Struts平台遷移到Grails平台的平緩事實上也是如此但資深的Spring+Struts平台開發人員遷移到Grails平台仍然需要有一些轉變其中大部分都是開發思想或者開發思路的轉變
   
    第一 開發方式的轉變
   
    Spring+Struts平台的開發是平緩的不管是CRUD還是復雜的業務Spring+Struts平台都要一視同仁一步步來對於CRUD它的簡單只是在業務層其他的數據層表現層Action頁面和它們之間的配置一個都不能少該做的都要做到而復雜的業務和簡單的CRUD的不同僅僅表現在業務層多做的事情也大部分在業務層
   
    而Grails平台的開發則是曲線式的先快後緩對於CRUD式的業務在Grails平台只要一兩個動作就完成了全部的功能當然我們必須對頁面做一定的修改以達到客戶的要求當CRUD業務完成以後我們再在它們的基礎上添加復雜的業務
   
    往往從Spring+Struts平台轉移過來的開發人員會喜歡契約式的開發而討厭Spring+Struts的配置式的開發對於Grails平台對CRUD開發的簡化反而比較忽視因為對於一個大型項目來說CRUD所占的比例不大而且很多開發人員也不認為Grails平台的腳手架產生的代碼對他們有多少幫助因為頁面需要定制
   
    其實從我的經驗來說對於一個大型項目CRUD所占的比重大約為五分之一到四分之一的樣子而在小項目中CRUD所占的比重會更大一些因此雖然一個大項目開發完成以後我們不記得我們曾做過CRUD的開發但不可否認的是CRUD的開發在Spring+Struts平台的確占了我們一部分的開發時間Grails平台對這部分時間的節省對我們來說也是值得慶賀的
   
    所以在Grails開發平台當然拿到一個模塊的時候我們第一步要做的不是按照業務的要求按部就班的進行開發而是首先要把其中的CRUD部分抽取出來交給Grails平台來幫我們實現然後我們在它的基礎上去做更為復雜的業務這就要求我們在設計SD文檔和demo的時候要盡量將業務中的CRUD抽取出來集中而不是分散這樣有利於Grails平台來幫我們實現CRUD的功能


   
    第二 有關契約
   
    契約式編程相比較於配置式編程在效率上的確高了很多但需要注意的是我感覺對於大型項目來說在編碼的同時維護一下controlleraction服務層和頁面的關系仍然是有很大的必要的但這種維護是文檔式的維護不會干擾到程序和測試服務器的運行一旦有了這個文檔在項目的維護過程中的作用是顯而易見的當然了這種維護要我們更為細心不要出錯因為如果在Spring+Struts平台配置文件出錯的話測試服務器運行時會出問題的這也是Spring+Struts平台配置討厭的一個原因一個人維護出錯down過他的代碼的人的測試服務器都跑不起來但文檔維護顯然沒有這樣的糾錯機制它的正確性需要的是維護人員的細心
   
    就我的經驗而言使用契約的地方越多就越需要文檔維護文檔雖然會降低你的開發速度但在項目的維護過程中對你的維護效率的提高又是不言而喻的特別是開發人員和維護人員不是同一個人的時候
   
    第三 有關頁面開發
   
    傳統的Spring+Struts平台的開發我們直接把demo的頁面拿來轉化成jsp文件再在相應的位置填充所需要的變量然後跟後台交互
   
    而Grails平台的開發我們是先開發CRUD業務即由平台幫我們生成gsp文件然後再根據demo的頁面要求修改它的Layout和填充必要的樣式
   
    然後再由CRUD業務的頁面鋪展開來繼續完成其他的較為復雜的業務復雜業務的gsp文件可以由demo的頁面直接轉化過來


From:http://tw.wingwit.com/Article/program/Java/ky/201311/27979.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.