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

代碼生成技術在軟件開發中的應用

2016-08-29 02:14:28重慶三峽職業學院現代教育技術中心
電子世界 2016年15期
關鍵詞:數據庫

重慶三峽職業學院現代教育技術中心 唐 磊

?

代碼生成技術在軟件開發中的應用

重慶三峽職業學院現代教育技術中心唐磊

本文介紹了代碼生成技術的概念和特點,以及代碼生成器的分類,在此基礎上舉例說明代碼生成器在軟件項目開發中的應用過程。

代碼生成;軟件開發;.NET;數據庫

1.引言

一直以來,軟件工程界在如何減少軟件工程師的工作量和提高工作產品的質量的問題上做著不懈地探討和研究,用于解決這問題的新方法、新技術、新工具也不斷地涌現。一些應用程序框架如J2EE,.NET的出現,讓軟件工程師擺脫了編寫諸如數據庫訪問,web頁面UI設計等底層邏輯代碼帶來的煩惱,但軟件工程師面臨編寫基于這些應用程序框架API的一些重復繁瑣的代碼,以及軟件系統需求或應用程序框架API的變更導致軟件系統中代碼的多次修改等諸多問題。采用代碼生成技術可以成為解決之道。它實現了從手工作坊式的編程到對組件的自動裝配的轉變。

2.代碼生成技術綜述

所謂代碼生成技術,即在開發應用軟件之前,先設計一個程序,用它來自動生成目標程序的代碼。隨著應用程序開發環境的日益復雜,如J2EE、MFC和.NET等,代碼生成技術在專業應用程序開發過程中的地位起來越重要。使用代碼生成技術,可極大地加快應用軟件的編程速度,降低錯誤發生率,從而提高應用軟件的生產效率。

代碼生成技術的優點:

質量高:大量手寫代碼的質量是參差不齊的,修改已完成的同類代碼的代價太大。使用代碼生成器,即使在調試時發現了錯誤,也可以修改模板和重新生成代碼。

一致性好:代碼生成器生成的代碼整齊,對變量名的定義、API的調用等進行規范,提高了代碼的可讀性。

對項目開發經理來說,應用代碼生成技術還具有易于控制開發流程、提供高質量的文檔和代碼的優點。

代碼生成器按輸入和輸出分可分為代碼Munger、內嵌代碼擴展、混合代碼生成器、部分類生成器和層生成器。代碼生成器按是否對生成代碼的維護可分為消極的代碼生成器和積極的代碼生成器。

3.代碼生成技術實現

現代企業應用程序一般采用三層或多層模式,從下向上依次為數據庫訪問層、應用邏輯層和用戶界面層。一個典型的在.NET平臺上開發的應用軟件的模式為:

數據訪問層:實現SQL語句和存儲過程與數據庫的訪問。

應用邏輯層:由一組.NET組件(.dll)構成,是實現應用程序的業務邏輯部分。應用邏輯層通過調用數據庫訪問層中的類方法,實現ADO.NET與數據庫交換數據。

用戶界面層:.NET平臺上的用戶界面可以采用兩種方式:Web Form和Windows Form。前者在服務器上運行,用戶通過計算機上的瀏覽器訪問;后者是運行于用戶計算機上的Windows應用程序,通過Web Service與服務器上的應用邏輯層交換數據。

基于企業應用程序目前采用的三層或多層模式,目前的商業代碼生成軟件大多為層生器類。軟件提供大量程序模板供選擇,可為數據訪問層、應用邏輯層和用戶界面層等定義對應的模板,通過數據庫中的表可批量生成每層相對應的代碼,從而節約大量手工方式編碼的時間。通過軟件內的文檔生成功能可生成對應的數據庫設計文檔。至于應用程序的報表問題,可采用成熟的每三方組件來完成,如著名的水晶報表。也可自行編制報表程序。

4.代碼生成技術應用

動軟代碼生成器在目前軟件開發中應用廣泛。它支持多種類型數據庫管理器,可以生成基于面向對象的思想和三層架構設計的代碼,主要實現在對應數據庫中表的基類代碼的自動生成,包括生成屬性、添加、修改、刪除、查詢、存在性和Model類構造等基礎代碼片斷,支持不同3種架構代碼生成。以下是動軟代碼生成器的操作步驟。

第一步,在代碼模板中創建各層的代碼模板(如Model層,數據訪問層(DAL),應用邏輯層(BLL)和用戶界面層),其中Model層代碼模板如圖 1所示。圖中TableHost host = (TableHost)(Host);表示獲取到的數據表對象,<#= host.TableDescription #>表示數據表的注釋名,<#= host.GetModelClass(host.TableName) #>表示數據表基類名稱,<#= CodeCommon.DbTypeToCS(c.TypeName) #> 表示數據表基類屬性數據類型,<#= c.ColumnName #>表示數據表基類屬性名稱。

圖1  Model層代碼模板

第二步,在代碼模板中創建各層的代碼模板(如Model層,數據訪問層(DAL),在數據庫視圖中創建并連接服務器,在出現的數據庫列表中任選一個數據庫,在出現的右鍵菜單中選擇“模板代碼批量生成”,在出現的窗口中選擇要生成代碼的數據庫,選擇表和視圖,選擇要模板,選擇“按模板和表獨立保存”,選擇生成代碼保存路徑,點擊“導出”按鈕,即在指定路徑下生成與代碼模板對應的源代碼。窗口設置如圖 2所示。

圖2  模板代碼批量生成窗口

5.結論

本文以動軟代碼生成器生成某個軟件項目代碼為例說明了代碼生成技術的應用。代碼自動生成軟件是極有價值的應用軟件開發工具,無論是選擇商業軟件還是自行開發代碼生成工具,正確地應用和維護可以極大地提高軟件開發效率和軟件質量。

[1]劉鷹.代碼生成技術及其在企業開發中的應用[J].西安文理學院學報:自然科學版,2006,9(3):98.

[2]范小鋼.代碼生成技術的探討與實踐[D].中山:中山大學,2004.

[3]鄭斌.基于ASP.NET Web應用的代碼生成技術[D].長沙:中南大學,2011.

[4]王忠杰,戰德臣,徐曉飛等.基于對象關聯模型的企業應用軟件代碼生成器[J].計算機集成制造系統,2007,13(5):1023.

唐磊(1983—),男,重慶萬州人,重慶大學計算機技術工程碩士,現供職于重慶三峽職業學院現代教育技術中心,實驗師,研究方向:計算機網絡,軟件開發。

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 国产精品女同一区三区五区| 日韩美毛片| 污视频日本| 色婷婷视频在线| 久久精品视频一| 亚洲男人在线天堂| 久久福利片| 55夜色66夜色国产精品视频| 欧美不卡在线视频| 精久久久久无码区中文字幕| 色妞永久免费视频| 99成人在线观看| 欧美日韩午夜| 91小视频版在线观看www| 一本视频精品中文字幕| 香蕉色综合| 666精品国产精品亚洲| 午夜免费小视频| 国产综合日韩另类一区二区| 日韩欧美中文在线| 亚洲91精品视频| 制服无码网站| 日韩小视频在线播放| 国产精品天干天干在线观看 | 一级不卡毛片| 精品少妇三级亚洲| 在线国产毛片| 秋霞一区二区三区| AV片亚洲国产男人的天堂| 国产交换配偶在线视频| 91探花在线观看国产最新| lhav亚洲精品| 四虎亚洲国产成人久久精品| 午夜精品久久久久久久无码软件 | 中文字幕亚洲无线码一区女同| 亚洲美女一区二区三区| 五月天天天色| 欧美一级黄片一区2区| 性欧美在线| 欧美一级黄片一区2区| 99草精品视频| 美女一级免费毛片| 欧美激情视频一区| 久久亚洲国产一区二区| 国产99热| 人妻一区二区三区无码精品一区| 久热这里只有精品6| 亚洲成在线观看| 一本综合久久| 国产男人的天堂| 国产色伊人| 国产亚洲精品精品精品| 国产成人精品男人的天堂 | 亚洲国产一区在线观看| 干中文字幕| lhav亚洲精品| 国产成人永久免费视频| 欧美不卡二区| 福利小视频在线播放| 国国产a国产片免费麻豆| 激情五月婷婷综合网| 一级毛片免费观看不卡视频| 国产青青草视频| 天天摸夜夜操| 91破解版在线亚洲| 国产精品久久久久鬼色| 国产一二视频| 欧美性久久久久| 欧美高清国产| 国产精品国产三级国产专业不| 日韩a在线观看免费观看| 午夜福利视频一区| 亚洲国产成人超福利久久精品| 99视频在线免费| 色一情一乱一伦一区二区三区小说| 女人18毛片一级毛片在线 | 日韩精品免费在线视频| 亚洲欧美成人在线视频| 国产精品不卡片视频免费观看| 天天躁日日躁狠狠躁中文字幕| 中文字幕色在线| 四虎影视无码永久免费观看|