程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> .NET代碼生成器有助於快速應用程序開發

.NET代碼生成器有助於快速應用程序開發

編輯:關於ASP.NET

你可以完全用自己開發的代碼(也可能還有來自MSDN的部分程序模塊)來建立一個支持快速應用程序開發(rapid application development,RAD)的環境。但是我認為作為一名.NET開發者,如果你不去考慮現有的第三方代碼生成器的話,那麼你就是在欺騙你自己以及你的公司。

使用代碼生成器(code generator,CG),你就可以從一組簡單的設定或者數據庫設計中獲得幾百、幾千行代碼。如果不采用這項技術的話,開發者就不得不花上幾個小時或者幾天的時間來手工編寫這些代碼。許多開發工作室要麼讓它們的初級程序員創建這些“grunt code”、要麼把它外包給國外的程序員以節省開銷。CG有著這兩種方法所沒有的好處,即一致性。

代碼生成器是如何工作的

從模板生成的所有代碼的命名規則、文件編制、訪問機制等都是相同。任何兩個開發員各自開發的代碼都無法保證這一點(甚至同一個開發員在不同時間所開發的代碼也不能保證)。CG有兩種工作方式:自頂向下(top down)和自下向上(bottom up)。

使用top-down CG,你可以通過定義系統的對象以及對象之間的關系來定義該系統,CG還創建了事務對象(business object)以及底層數據庫大綱(schema)。Bottom-up CG按照你的數據庫設計來創建一套數據類以及事務類(依據數據之間的關系)。你可以按照自己的情況來決定采用CG這兩種工作方式的某一種。

如果你必須與其它系統的數據庫交互且該系統仍將使用其數據庫數據,那麼你最好采用bottom-up CG,這樣可以簡化所需產生的數據類,這也就加快了你的開發過程。不過,我一般更喜歡采用top-down CG,因為它要求設計者在事務層次上預定義關系,而且在創建事務類這一工作上它做的比bottom-up CG好很多,你可以繼承這些事務類並擴展你的設計。

DeKlarit:一個不錯的top-down CG工具

如果你還沒有用過top-down CG,那麼我強烈建議你下載DeKlarit工具的試用版。自打我開始使用這個工具已經有好幾個月的時間了,但是我還是常常對它的強大功能感到吃驚。你只需定義描述系統的數據元素以及它們之間的關系,DeKlarit就會產生一個完整的事務框架(包括事務類和數據類)以及底層數據庫。DeKlarit可以用C#或者VB.NET來生成事務框架,用SQL Server或者Oracle來生成數據庫。

DeKlarit有三個優點,這三個優點使它成為系統設計者的利器。首先,你只需設計數據元素之間的關系,DeKlarit就會產生結構良好的、標准化的數據庫大綱。其次,如果你修改了事務框架,DeKlarit會重新生成代碼並在保留數據的同時重新產生與大綱相匹配的數據庫。最後,DeKlarit可以產生測試裝具模塊(test harness),有了這個模塊,你就可以通過用ASP.NET或者Windows窗體插入、更新數據的方式來檢查事務框架。盡管市面上CG工具並非只有DeKlarit,但是它的確是所有我在進行.NET開發時所用過的top-down CG工具中最出色的。

何時使用代碼生成器

許多開發者強調他們在生產環境中不會使用CG所生成的代碼,因為他們對最終產品中存在自己所沒有碰過的代碼而感到不放心。盡管我理解這種擔心,但我仍然認為這是沒有必要的。退一步來說,即使在最終產品中不采用CG所生成的代碼,CG也是為客戶開發詳細原型的好工具。如果讓CG來產生事務類、數據類和數據庫大綱的原型,那麼你就可以在這個框架的基礎上建立你自己的表示類,這樣你就可以快速創建種類眾多的功能。至少,通過提供一個完整的原型,CG技術可以幫助你快速的發掘出系統潛在的隱患。如果CG所產生的代碼可以讓你放心的使用,那麼它可以幫你節省數周乃至數月的最終開發和測試時間。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved