999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談基于Razor模板引擎的代碼生成器

2017-03-27 14:28:42譚江山
科技資訊 2017年2期

譚江山

摘 要:目前網絡上形形色色的代碼生成器很多,但并不適合中小軟件企業或個人開發者。使用代碼生成器提高工作效率的最好辦法是做自己的代碼生成器。該文從教學實際項目經驗出發,探討了利用Razor模板引擎生成基于業務模型的軟件代碼生成器的使用及實踐。這將對中小軟件企業的軟件開發具有指導與借鑒作用。

關鍵詞:代碼生成器 模板C# Razor

中圖分類號:G64 文獻標識碼:A 文章編號:1672-3791(2017)01(b)-0042-02

現實中,計算機軟件開發企業大多有很多優秀項目的積累,且有很多優秀的代碼及規范的代碼標準。要延續這些規范和標準,最好的方法是使用代碼生成器及進行過程控制。但使用別人的代碼生成器,并不一定適合自身企業的特點,也很容易受制于其軟件版本的升級。

1 規范的代碼在編程中的重要性

目前,有一定技術實力的軟件公司都有自己成熟的軟件框架,有自己的代碼規范,有自己的各項技術要求。因為規范的代碼能大大提高編程的工作效率,為企業帶來更多的經濟和社會效益。計算機軟件行業人員流動頻繁,若沒有一定的代碼規范,新員工很難接手老員工的程序代碼,需要新員工接受相應培訓或由師傅幫帶,這無疑增加了企業的運營成本。再者,軟件的維護周期內,若沒有形成一定的代碼規范,不僅增加后期維護的工作量及維護難度,同時也將大大提高維護的成本。對此,無論就企業還是個人而言,形成自己規范的代碼是非常重要的。每個程序員都應將自己編碼的好習慣、好代碼轉換為模板,這將大大提高自己的編程效率。如何更好將自己的代碼轉換為模板呢?這就需要用到代碼生成器,代碼生成器是將固定不變的代碼設計為模板,將變化的部分交給模板引擎去處理。

2 基于Razor模板引擎的代碼生成器的特點

目前市場上有很多優秀的代碼生成器,如:動軟.NET代碼自動生成器、AutoCoder自動代碼生成器等。盡管這些代碼生成器軟件都很優秀,但并不適合每個公司或每個人。最好的辦法是實現自己的代碼生成器。基于.net的模板引擎有很多種,如:NVelocity、Razor、StringTemplate等。經過多年的編程實踐,筆者推薦使用Razor引擎。

Razor是和ASPX一樣的另一種視圖引擎,Razor是作為一種后起的視圖模板被ASP.NET MVC3使用,Razor的特點是界面設計靈活,比ASPX視圖引擎更專注于WEB前端頁面的設計。因為MVC就是基于WEB開發所誕生的一個設計模式,主旨之一就是將頁面和業務邏輯解耦。其具有緊湊、富有表現力和流暢、上手快、可以使用任何文本編輯器編寫、有很好的智能感應輸入提示、便于單元測試等特點。

3 基于Razor模板引擎的代碼生成器的使用

我們來看看最簡單的Razor模板用法。

該文通過模型類文件和Razor模板文件生成相應的目標代碼文件,方案步驟如下(僅以網站項目為例)。

(1)將以往優秀項目的各層,如:表示層、數據訪問層、業務邏輯層、控制層、業務(領域)模型層等做成相應的模板(其實所有的文本類型的文件都可以做成模板)。

(2)創建業務(領域)模型類,該業務(領域)模型類可以包含屬性、特性、注釋等。

(3)利用正則表達式或反射技術,將業務(領域)模型類解析成模板相對應的動態內容,如以上示例代碼中的@Model.Name、@Model.Email等。

(4)利用Razor引擎進行解析即可。

這樣設計的目的是通過模型類的類名、屬性名、特性及注釋等,結合編輯頁、列表頁、業務代碼等模板生成對應的目標代碼。優秀的代碼生成器不是一個代碼不用寫,而是通過寫個性化的代碼,生成個性化的目標代碼,從而增加靈活性。

4 基于Razor模板引擎的代碼生成器的應用實踐

筆者經過多年編程實踐,已經利用Razor模板引擎開發出了自己的代碼生成器,基于asp.net mvc4技術,可在線生成各類界面、Controller類及業務邏輯類,并可打包下載生成的多個文件。

目前該代碼生成器已經在筆者的教育系統(市教育局藝術節網上報名系統、學校實習實訓平臺、學校校園網)等多個團隊項目中使用,并取得了良好的經濟效益和社會效益。實踐證明利用Razor模板引擎技術不僅修改模板方便,生成效率高,而且規范了團隊代碼編寫,大大提高編寫代碼工作效率和軟件質量,同時也產生了良好的經濟效益。

參考文獻

[1] Razor模板引擎官網[EB/OL].https://github.com/Antaris/RazorEngine.

[2] 郭曉民.基于自動代碼生成的WEB業務工具[D].西安電子科技大學,2008.

[3] 王建光.基于模型驅動架構的軟件生成技術研究[D].太原理工大學,2007.

主站蜘蛛池模板: 成年人国产视频| 国产区人妖精品人妖精品视频| 日韩精品一区二区三区免费| 国产精品自在线天天看片| 欧美福利在线播放| 成·人免费午夜无码视频在线观看| 亚洲国产精品日韩av专区| 思思99热精品在线| 国产美女精品人人做人人爽| 亚洲人成电影在线播放| 欧美国产在线看| 九九热精品视频在线| a级毛片免费播放| 制服丝袜在线视频香蕉| 亚洲无码视频图片| 99久久无色码中文字幕| 不卡无码网| 91精品国产自产在线观看| 日韩精品无码免费一区二区三区 | 无码福利日韩神码福利片| 重口调教一区二区视频| 久久国产精品麻豆系列| 狠狠v日韩v欧美v| 大陆精大陆国产国语精品1024| 欧美一区中文字幕| 乱人伦中文视频在线观看免费| 国产免费a级片| 久久亚洲AⅤ无码精品午夜麻豆| 在线另类稀缺国产呦| 无码专区在线观看| 高清不卡毛片| 中文字幕无码中文字幕有码在线| 日韩在线视频网站| 亚洲综合天堂网| 国产女主播一区| 在线看片免费人成视久网下载| 国产精品成人久久| 国产成人精彩在线视频50| 伊人色综合久久天天| 午夜国产大片免费观看| 色色中文字幕| 综合网久久| 污网站免费在线观看| 精品99在线观看| 亚洲一级毛片在线观| 内射人妻无套中出无码| 成人av专区精品无码国产| 2021天堂在线亚洲精品专区| 人妻无码AⅤ中文字| 国产精品区网红主播在线观看| a级毛片免费播放| 久久久久久久久久国产精品| 亚洲精品第五页| 自拍欧美亚洲| 国产亚洲视频播放9000| 国产成人调教在线视频| 欧美啪啪视频免码| 亚洲丝袜第一页| 五月婷婷亚洲综合| 欧美精品1区2区| 国产精品无码制服丝袜| 亚洲欧美人成人让影院| 亚洲国产欧美目韩成人综合| 久草国产在线观看| 专干老肥熟女视频网站| 中字无码精油按摩中出视频| 波多野结衣亚洲一区| 亚洲欧美日韩中文字幕在线一区| 曰韩免费无码AV一区二区| 欧美激情视频二区| 一级香蕉人体视频| 久久人搡人人玩人妻精品| 亚洲美女一区| 国产一区二区三区精品欧美日韩| 欧美中文字幕在线播放| 18禁高潮出水呻吟娇喘蜜芽| 日韩成人高清无码| 亚洲bt欧美bt精品| 四虎成人精品在永久免费| 成人免费网站在线观看| 91精品啪在线观看国产91| 国产成人亚洲综合a∨婷婷|