lizongbo 的 編程學(xué)習(xí)

          http://618119.com

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            23 Posts :: 1 Stories :: 78 Comments :: 0 Trackbacks

          看到這個(gè)帖子:
          http://spring.jactiongroup.net/viewtopic.php?t=1789&sid=1d6c15d0d2a6248b9c599be2f9de616b

          在此寫一下我自己的代碼生成器的設(shè)計(jì)和一點(diǎn)體會(huì)。
          因?yàn)轫?xiàng)目需要,用三個(gè)星期仿照 .text用java寫了個(gè)blog程序,實(shí)現(xiàn) .text的大部分功能。
          其中大部分代碼是代碼生成器生成的。

          開發(fā)流程:
          1.用pd設(shè)計(jì)實(shí)體模型,因?yàn)閏dm文件是xml,所以很方便解析 .
          2.根據(jù)cdm和用freemarker寫好的模板,運(yùn)行一下命令,生成hbm.xml
          3.根據(jù)hbm文件,再運(yùn)行一下命令,生成所有的增刪查改的文件,包括java的,jsp的,xml的,甚至國際化的資源文件.
          4.此時(shí)生成好的運(yùn)用可以馬上跑起來,對每張表進(jìn)行增刪改,和多條件分頁查詢.
          5.由于后來對blog的后臺(tái)管理使用了js的xmlrpc來實(shí)現(xiàn)ajax效果,
          這部分代碼沒有代碼生成器模板,靠手工復(fù)制粘貼作的,浪費(fèi)了三天時(shí)間.

          在此總結(jié)如下:
          1.要先寫好適合自己的相關(guān)庫文件,這個(gè)需要根據(jù)實(shí)際經(jīng)驗(yàn)來積累.

          2.對于有規(guī)律的代碼,進(jìn)行抽取共性做成模板,都可以用代碼生成器來生成.

          3.代碼生成器是給自己用的,自己是開發(fā)人員,定位的使用者是有經(jīng)驗(yàn)的開發(fā)人員,因此可以省掉界面操作.

          4.要明白代碼生成器不能夠生成百分之百的代碼,我的原則是多生成代碼,即使有些冗余的,
          因?yàn)閷Υa進(jìn)行刪除清理永遠(yuǎn)比打字寫代碼要快很多.
          對于有規(guī)律的業(yè)務(wù)邏輯,可以做到把90%的代碼都生成好.

          5.代碼生成器生成的代碼有統(tǒng)一規(guī)則命名風(fēng)格,很方便維護(hù),而且基本沒bug.


          ---------
          過段時(shí)間打算抽點(diǎn)時(shí)間,用自己積累的代碼和代碼生成器來把springside里的模塊寫一下練練手.

          ?

          posted on 2006-04-25 22:47 lizongbo 的編程學(xué)習(xí) 閱讀(3196) 評論(4)  編輯  收藏 所屬分類: java 積累
          主站蜘蛛池模板: 特克斯县| 博罗县| 南陵县| 台南县| 金秀| 涡阳县| 佛教| 林甸县| 龙山县| 民和| 崇礼县| 五河县| 金乡县| 蒙自县| 峨眉山市| 澜沧| 鄂托克前旗| 盐源县| 万安县| 巴彦淖尔市| 平陆县| 若羌县| 泸西县| 新郑市| 乌兰浩特市| 六盘水市| 怀集县| 兰坪| 云浮市| 广灵县| 千阳县| 七台河市| 峨边| 郸城县| 错那县| 白河县| 西城区| 常熟市| 苍南县| 盐边县| 天峻县|