程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅第三講 使用C#開發基於XSLT的代碼生成器(1)(1)

C#發現之旅第三講 使用C#開發基於XSLT的代碼生成器(1)(1)

編輯:關於C語言

為了讓大家更深入的了解和使用C#,我們開始這一系列的主題為“C#發現之旅 ”的技術講座。考慮到各位大多是進行WEB數據庫開發的,而所謂發現就是發現我們所 不熟悉的領域,因此本系列講座內容將是C#在WEB數據庫開發以外的應用。目前規劃的主要內 容是圖形開發和XML開發,並計劃編排了多個課程。在未來的C#發現之旅中,我們按照由淺入 深,循序漸進的步驟,一起探索和發現C#的其他未知的領域,更深入的理解和掌握使用C#進 行軟件開發,拓寬我們的視野,增強我們的軟件開發綜合能力。

本課程說明

經過以前的學習,我們大體上了解了XML/XSLT開發,在本課程中,我們將在ASP.Net中使用C# 開發一個基於XSLT技術的代碼生成器。

代碼生成器

首先說說什麼是代碼生成 器。個人認為是一種工具軟件,它能根據某種已經固定的信息,使用程序來機械的大批量的 生成有結構上有比較簡單規律的源代碼,從而減少軟件開發人員的編碼量。

從廣義上 講,我們寫的WEB數據庫程序都是代碼生成器,它們能根據保存在數據庫中的固定數據自動生 成大量的Html代碼。在這裡我們限制代碼生成器為通用代碼生成器。代碼生成器主要功能是 幫助程序員自動生成大量的底層代碼,這種代碼可以是C#或Java的程序源代碼,也可以是SQL 語句,或者Html代碼等等,是一種軟件開發過程中的輔助工具軟件。

我們最常用的代 碼生成器是根據數據庫結構自動生成能操作數據庫記錄的程序源代碼,SQL語句或其他文檔等 等。對於這種代碼生成器,其數據信息來源就是數據庫的表結構和字段屬性等信息,我們可 以分析遍歷數據庫的系統表來貨的表結構和字段信息,也可以從PowerDesigner等數據結構設 計器保存的文檔中獲得。

針對某個特定的項目,我們可以根據數據庫結構臨時寫一個 代碼生成器,使用字符串拼湊來生成源代碼,但這種代碼生成器不通用,難於用於其他項目 。因此我們更多的是使用通用的代碼生成器。

很多通用代碼生成器的原理如圖

在這個圖中,我們看到代碼生成器包含了模板庫和代碼生成器處理引擎,模板庫包 含了若干個模板,一個模板一般是純文本,其中可能包含了腳本代碼,或者類似ASP的結構。 生成器引擎加載一個或者多個數據庫表結構設計信息,然後調用用戶指定的模板,通過某種 操作來自動生成另外一個文本文件,這個文本文件內容可以是純文本,Html代碼,C#代碼或 者其他。

考察這個結構,可以發現這個原理和XSLT原理很相似。我們可以將數據庫表 結構設計信息保存在一個XML文檔中,代碼生成器模板就使用XSLT格式,代碼生成器引擎就使 用XSLT轉換引擎,這樣我們也可以達到代碼生成器的功能,從而搞出基於XSLT的代碼生成器 。

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