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

感受代碼生成之美

2011-11-07 06:15:09吉基兵
中國現代教育裝備 2011年6期
關鍵詞:按鈕設置數據庫

吉基兵

江蘇省南京市第十三中學 江蘇南京 210008

☆現代教育技術應用☆

感受代碼生成之美

吉基兵

江蘇省南京市第十三中學 江蘇南京 210008

在信息技術教學中,有些問題常常必須通過程序才能完成這項工作,然而對大多數一線教師來說,編寫程序是一件痛苦的事情。那有什么辦法來解決呢?使用代碼生成。代碼生成技術已經非常成熟了,網上有各種各樣的代碼生成工具。本文從什么是代碼生成技術開始,分析了常規開發面臨的問題,使用代碼生成器有哪些好處?介紹了幾款常見的代碼生成器,重點介紹了CodeSmith的使用,感受代碼生成之美。使用代碼生成工具,我們可以快速生成代碼,進而編寫出符合實際需要的軟件。

一、什么是代碼生成

代碼生成就是利用工具或程序,通過簡單配置,快速生成程序代碼、數據庫腳本、數據字典等的編碼方式。代碼生成通常與數據庫相關項目聯系在一起。通過簡單配置,可以快速生成增刪改查、分頁等基礎處理類庫,甚至UI頁面也可生成,整個過程無需編碼。生成的代碼風格統一,無需測試。

二、常規開發面臨的問題

代碼大量重復。在程序開發過程當中,程序員會經常做著重復性的工作,最常見的是訪問數據庫,程序員要經常編寫增、刪、改、分頁之類的操作。為了避免這個問題,節省大量機械錄入的時間和重復勞動,提高工作效率,而將精力集中于核心業務邏輯的開發。一個適合于自己使用的代碼生成器顯得非常重要。

項目嚴重超期。越來越多的壓力使得一個軟件項目無論是最終用戶、企業、開發團隊都希望在最短的時間完成,可事與愿違的是軟件項目的時間延期問題普遍存在,一些調查表明,70%的項目超出了估算的時間。大型項目平均超出計劃交付時間的20%到50%,項目越大,超出計劃的時間越長。一直以來開發速度的問題都是軟件開發業的頭等問題。那怎樣才能在保證軟件質量的同時又縮短開發速度呢?

1.代碼生成的好處

編碼效率高。可以在1分鐘內生成幾萬行代碼,把人從重復勞動解放出來,用更多的精力去關注更核心的業務邏輯,系統的優化;代碼質量高。因為代碼都是一個生成器模板生成出來的,代碼風格一致,便于以后維護。

2.代碼生成器有哪些

(1)IBM Rational Rose

Rose實際上一個建模工具,但具有代碼生成功能。

Rational Rose是一個完全的,具有能滿足所有建模環境(Web開發,數據建模,Visual Studio和C++ )需求能力和靈活性的一套解決方案。Rose允許開發人員、項目經理、系統工程師和分析人員在軟件開發周期內在將需求和系統的體系架構轉換成代碼,消除浪費的消耗,對需求和系統的體系架構進行可視化、理解和精練。通過在軟件開發周期內使用同一種建模工具可以確保更快更好的創建滿足客戶需求的可擴展的、靈活的并且可靠的應用系統。

(2)Sybase Power Designer

PowerDesigner實際上一個建模工具,但具有代碼生成功能。

PowerDesigner是Sybase公司的CASE工具集,使用它可以方便地對管理信息系統進行分析設計,它幾乎包括了數據庫模型設計的全過程。利用PowerDesigner可以制作數據流程圖、概念數據模型、物理數據模型,可以生成多種客戶端開發工具的應用程序,還可為數據倉庫制作結構模型,也能對團隊設備模型進行控制。

Sybase PowerDesigner還是一個“一站式”的企業級建模及設計解決方案,它能幫助企業快速高效地進行企業應用系統構建及再工程(Re- engineer)。IT專業人員可以利用它來有效開發各種解決方案,從定義業務需求到分析和設計,以至集成所有現代RDBMS和Java、.NET、PowerBuilder和Web Services的開發等。PowerDesigner是結合了下列幾種標準建模技術的一款獨具特色的建模工具集:業務流程建模、通過UML進行的應用程序建模以及市場占有率第一的數據建模,這些建模技術都是由功能強大的元數據管理解決方案提供支持的。

(3)動軟.Net代碼生成器

動軟.Net代碼生成器是一款為C#數據庫程序員設計的自動代碼生成器,Codematic生成的代碼基于面向對象的思想和三層架構設計,結合了Petshop中經典的思想和設計模式,融入了工廠模式,反射機制等等一些思想。主要實現在對應數據庫中表的基類代碼的自動生成,包括生成屬性、添加、修改、刪除、查詢、存在性、Model類構造等基礎代碼片斷,支持不同3種架構代碼生成。

(4)ASP.NET Maker

ASPMaker是一款自動化的ASP代碼產生工具,它提供了一種方便快捷的可視化操作環境,使用者即使沒有任何的網絡編程經驗,只要提供 Microsoft Access數據庫或是ODBC數據源,就可以在五步之內快速地自動生成一整套ASP(Active Server Pages)程序。利用產生的ASP代碼,用戶能夠在Web上容易地查看、編輯、搜索、加入和刪除數據庫記錄。ASPMaker具有高度的靈活性,幾個選項使你能夠產生最符合你需求的ASP應用程序。產生的代碼是干凈的、直接的并易于定制。

ASP.NET Maker是一套非常容易使用的代碼生成工具,同ASPMaker一樣,它能快速地根據數據庫連接資料來源中生成一套完整的ASP.NET程序。

它支持以下數據庫:Microsoft Access、Microsoft SQL Server、Oracle、或任何具 ADO 或ODBC 連接的數據庫。

(5)CodeSmith

CodeSmith一款國際知名度最高的基于模板的代碼生成器,模板采用類似C#的腳本語言。

它主要特點在于模板的定制能力強,你完全可以像使用C#語言開發程序一樣,編寫屬于自己的模板。如果嫌麻煩,在網上完全可以找到想要的模板,稍加修改就可以變成適合自己的了。你一些ORM(NHibernate、IBatis、LINQ)、三層架構(Petshop、NTiers)、數據庫(分頁、 CRUD存儲過程、生成基礎數據)、架構(CSLA.NET)、Ajax等等。幾乎覆蓋了所有應用,可以說“只有想不到,沒有做不到”。

網上有很多共享的模板,其中.NetTiers尤為著名。

三、代碼生成工具的使用

本文以CodeSmith為例,結合.NetTiers模板來介紹代碼生成工具的使用。首先從網上下載CodeSmith,當前最新的版本為:5.2。參照以下流程安裝,如圖1所示。

圖 1

如果需要將CodeSmith集成到VSTS(Visual Studio Team Suite)中,安裝CodeSmith之前最好先安裝VSTS,如圖2所示。

圖 2

安裝完畢得到兩個應用程序:CodeSmith Studio和CodeSmith Explorer,CodeSmith Explorer是知識模板瀏覽器,可內嵌在CodeSmith Studio、VSTS中,CodeSmith Studio是CodeSmith的集成開發環境可以編輯模板文件。

下面我們使用.NetTiers模板,連接數據庫,設置相關參數來生成項目代碼,學習CodeSmith的使用方法。工作流程,如圖3所示:

圖 3

1.添加模板文件夾

CodeSmith是基于模板文件來工作的,模板可是自行編寫,也可以“拿來主義”。CodeSmith已經內置了許多模板文件,其他模板文件在使用之前,需要組織到CodeSmith中來,這就是在CodeSmith中為模板文件夾添加快捷方式,方法如下:

(1)在打開CodeSmith,找到Explorer面板。

(2)單擊面板上的按鈕,瀏覽到.NetTiers模板文件所在目錄。

2.建立數據連接

(1)在CodeSmith中連接數據庫之前,假定您的數據庫已經部署并建立完成。圖4是我們演示的數據庫表結構。

圖 4

(2)從菜單中執行命令“View-Schema Explorer”打開數據庫連接管理面板。

(3)在Schema Explorer面板中,單擊按鈕“Manager Data Source ”打開“Data Source Manger”對話框。

(4)在“Data Source Manager”對話框中,單擊“Add”,打開“Data Source”數據源設置對話框。

(5)在數據源設置對話框中,填寫“name(連接別名)”參數,選擇“Provider Type(數據庫連接提供程序)”類型,本例使用Sql Server,所以選擇“SqlSchemaProvider”,最后單擊“Connection String:”后面的“…”按鈕,填寫數據庫連接信息。

(6)在“Connection Properties”對話框中填寫SQL Server服務器地址,登錄賬號信息,選擇要連接的數據庫;單擊“OK”返回。

(7)返回后,連接字符串已經自動生成。

(8)可以單擊“Test”測試數據庫連接,確保成功。

(9)測試成功,返回“Data Source Manger”對話框,可以看到剛才添加的別名“demo”已經出現在列表中。單擊“Close”返回。

(10)在“Schema Explorer”中也有了剛才建立的連接。

3.設置生成參數

(1)打開“CodeSmith Explorer”,或者在CodeSmith中,找到“Template Explorer”面板,依次展開“CodeSmith 5.2 Samples-Frameworks-NetTiers”,找到“NetTiers.cst”模板文件。

(2)在“NetTiers.cst”模板文件上右擊,彈出菜單,選擇“Execute”執行該模板文件。

(3)彈出該模板的屬性設置窗口,如圖5所示。

圖 5

(4)首先設置數據源,單擊“Choose SourceDatabase”選項后面的按鈕“…”,彈出數據源選擇對話框

(5)設置好數據源后,暫時只要設置“MappingFile(映射文件路徑)”和“OutputDirectory(代碼生成輸出目錄)”兩個選項即可,如果需要特殊設置,可以設置其他選項。

4.生成項目代碼

(1)參數設置完畢,單擊窗口下部的“Generate”按鈕開始生成代碼,如圖6所示。

圖 6

(2)任務執行完畢,會自動彈出任務執行報告。報告中包括:任務執行匯總信息、項目使用配置信息、API使用案例、生成代碼詳細信息。

(3)模板輸出信息如下,可以看到項目代碼生成在指定目錄。

Generation complete. Execution time:00:00:07.7311168

You can view current documentation @http://docs.netTiers.com

Generated solution can be found here:

file:\D:NetTiersDemoDemo.sln

(4)打開輸出目錄,可以看到生成的解決方案和項目。

5.測試編譯項目

(1)在VSTS中打開解決方案“demo.sln”,選中“*.WebSite”網站項目,設置為啟動項目。按“Ctrl+F5”執行,瀏覽測試網站。

(2)彈出網站默認頁面,5秒鐘后將會自動轉向管理后臺,左側是所有的數據表,單擊任一表名可以查看該表中的數據。

(3)單擊下面的“Add New”按鈕可以對該表添加新記錄,如圖7所示。

圖 7

6.建立注冊頁面

(1)在網站根目錄建立頁面:“Reg.aspx”。

(2)打開“~/Admin/TUserEdit.aspx”頁面代碼,拷貝如圖8選中部分代碼。

圖 8

代碼參考(僅參考,實際可能不同)如下:

(3)打開“~/Reg.aspx”頁面代碼,在“”之間插入上一步拷貝的代碼。

(4)打開“~/Admin/TUserEdit.aspx”后臺代碼,拷貝如下部分代碼。

(5)打開“~/Reg.aspx”后臺代碼,將如下圖選中的命名空間替換為上一步拷貝的代碼。

(6)參照以下幾步修改代碼。

a.打開“~/Reg.aspx”頁面代碼,在“”標簽后部加上“DefaultMode="Insert"”,表示該表單默認是插入模式。

b. 刪除如下代碼,表示刪除“Update”按鈕。

圖 9

(8)用戶可以注冊了,大功告成。

[1] Peter Vogel.Practical Code Generation in .NET[M].美國:Addison-Wesley Professional, 2010.

[2] Kathleen Dollard. Code Generation in Microsoft .NET[M].美國:Apress. 2004

吉基兵,教育碩士,中教一級。

猜你喜歡
按鈕設置數據庫
這些按鈕能隨便按嗎?
當你面前有個按鈕
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
內心不能碰的按鈕
商業評論(2014年9期)2015-02-28 04:32:41
主站蜘蛛池模板: 久久国产高清视频| 日本在线免费网站| 精品国产Ⅴ无码大片在线观看81| 亚洲国产天堂在线观看| 国产精品视频导航| 天堂成人在线视频| 国产乱码精品一区二区三区中文| 毛片免费高清免费| 国产精品冒白浆免费视频| 亚洲日韩国产精品综合在线观看| 91麻豆国产视频| 亚洲第一成人在线| 伦伦影院精品一区| 国产二级毛片| 欧美成人免费午夜全| 成人福利在线视频| Jizz国产色系免费| 免费全部高H视频无码无遮掩| 色呦呦手机在线精品| 日韩国产黄色网站| 亚洲av无码人妻| 波多野结衣的av一区二区三区| 国产精品午夜福利麻豆| 国产精品久线在线观看| 一本久道热中字伊人| 丁香五月亚洲综合在线| 制服丝袜 91视频| 久久综合干| 久草国产在线观看| 亚洲无码高清免费视频亚洲 | 波多野结衣亚洲一区| 亚洲成人精品在线| 啪啪啪亚洲无码| 亚洲男人的天堂久久香蕉| 91日本在线观看亚洲精品| 在线国产综合一区二区三区| 就去吻亚洲精品国产欧美| 特级精品毛片免费观看| 国产一区二区视频在线| 国产永久在线视频| 成人在线天堂| 国产麻豆另类AV| 岛国精品一区免费视频在线观看| 国产中文在线亚洲精品官网| 91年精品国产福利线观看久久 | 五月激激激综合网色播免费| 亚洲视频欧美不卡| 国产成人啪视频一区二区三区| 国产美女精品在线| 亚洲欧美在线综合图区| 亚洲成人播放| 亚洲国产成人超福利久久精品| 日本妇乱子伦视频| 2022国产91精品久久久久久| 日韩经典精品无码一区二区| 国产亚洲精品自在线| 一本大道香蕉久中文在线播放| 国产精品深爱在线| 亚洲精品va| 亚洲第一国产综合| 国产男女免费视频| 青青久在线视频免费观看| 尤物精品国产福利网站| 国产激情在线视频| 日本三级黄在线观看| 一级毛片不卡片免费观看| 亚洲天堂成人在线观看| 亚洲床戏一区| 亚洲性色永久网址| 激情六月丁香婷婷| 亚洲码在线中文在线观看| 欧美精品在线免费| 国产精品久久自在自2021| 丝袜亚洲综合| 亚洲色大成网站www国产| 欧美视频在线观看第一页| 伊人久久福利中文字幕| 日本人又色又爽的视频| 亚洲一区二区精品无码久久久| 成人无码区免费视频网站蜜臀| 制服丝袜在线视频香蕉| 午夜视频在线观看免费网站 |