作者:
江南白衣 一個(gè)Appfuse式的項(xiàng)目,會(huì)通過項(xiàng)目里最典型的幾個(gè)場(chǎng)景,demo團(tuán)隊(duì)目前的體系框架和設(shè)計(jì)模式。
它的好處有一打,比如為所有項(xiàng)目提供共同的Library Stack,提供最可靠的代碼藍(lán)本,保證大家的模式和代碼風(fēng)格一致,加快知識(shí)在團(tuán)隊(duì)的傳播,方便新人的融入,還有為試驗(yàn)代碼提供一個(gè)穩(wěn)定簡(jiǎn)潔的環(huán)境。
所以,一個(gè)長期合作的團(tuán)隊(duì),需要這樣一個(gè)MyAppfuse。
但還要有三條鐵的紀(jì)律,才能保證辛苦做出來的MyAppFuse不是個(gè)寂寞的芭比。
一是強(qiáng)制更新,所有團(tuán)隊(duì)approval的最新模式都要refactor到MyAppfuse中。
二是規(guī)范更新,每次更新都要嚴(yán)格測(cè)試并編寫更新記錄、移植文檔。
三是強(qiáng)制Copy Start,所有代碼都必須從MyAppFuse里Copy而不是隨自己喜歡找任意項(xiàng)目的代碼。
現(xiàn)在開始規(guī)劃一個(gè)Appfuse式項(xiàng)目。我覺得包含如下Content:
1.設(shè)計(jì)典型的應(yīng)用情景。
我平時(shí)的ERP項(xiàng)目,最典型的情景莫過于:
*基礎(chǔ)資料管理(如產(chǎn)品資料的CRUD)
*單據(jù)管理(如訂單的錄入與管理)
*典型報(bào)表
每個(gè)場(chǎng)景應(yīng)該有簡(jiǎn)單與復(fù)雜兩種模式,方便Developer選用。
場(chǎng)景要仔細(xì)設(shè)計(jì),盡量演示到所有重要的技術(shù)要點(diǎn)。
但場(chǎng)景又要盡量的少,盡量簡(jiǎn)潔,減少每次模式升級(jí)的成本。
2.挑選出其他比較重要的特性。
如Quartz、ClickStream,也一并放入MyAppFuse中。
3.把所有用到的框架、類庫、瓶瓶罐罐統(tǒng)統(tǒng)打包。
并附上索引和說明作為團(tuán)隊(duì)公用的Library Stack,每次library升級(jí)都要認(rèn)真檢測(cè)。
4.編寫文檔。
類似Appfuse的Tutorial,編寫文檔說明各個(gè)場(chǎng)景用到的技術(shù)要點(diǎn)與模式,說明如何二次開發(fā)。
類似Appfuse的Migrate,詳細(xì)說明如何升級(jí)到MyAppfuse新的版本,促進(jìn)新模式的傳播。
5.簡(jiǎn)單代碼生成工具。
類似Appfuse的AppGen,用Groovy Template或FreeMarker編寫簡(jiǎn)單的代碼生成模版。
6.核心的測(cè)試用例
后記:這個(gè)MyAppfuse終于開源成http://www.springside.org.cn