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

用Visual Studio 2005創建宏代碼生成器

編輯:關於ASP.NET

目前的軟件並不是自動生成的,但是我們都知道軟件將會一代代地發展下去。那麼,為什麼我們不努力於自動生成的軟件?為什麼不努力於創造能夠一代代自動生長或發展使用的軟件而卻致力於改變現有的?目前我們所擁有的哪些技術能夠支持生成的軟件而遺忘了哪些技術呢?對這些問題的回答可能還不存在,但是VS 2005中已經具有一些能力來支持生成的代碼了。

在Visual Studio 2005中,你可以使用宏來為你書寫代碼。這些宏代碼生成器並不是隨便生成的,而你也不必憑想象和發明來構劃要寫什麼樣的宏。兩個獨立但仍有聯系的研究領域-設計模式和重構-明確地提供了許多的選擇用於書寫易理解的,具有良好文檔的代碼生成器(代碼生成與生成的代碼並不是一回事,這是在使用宏引擎時所必須要理解的)。本文將向你展示怎樣使用Visual Studio 2005中的宏引擎創建一個代碼生成器來為VB.NET實現重構封裝字段。

二、重構:封裝字段

重構是一個為提高代碼實現質量的定義過程。具體地說,重構是在不改變軟件現有功能的基礎上,通過調整程序代碼改善軟件的質量、性能,使其程序的設計模式和架構更趨合理,提高軟件的擴展性和維護性。在最簡單意義上,重構從代碼中提取了一些主觀性。作為軟件工程師,我們不必再依賴於輿論和意志力來判斷編碼是好的還是不好的;我們能運用一個客觀的標准並同意重構的代碼優於非重構的代碼。

就象設計模式一樣,重構是命名的代碼模式,帶有充分的描述,指令,要想達到的結果。任何一個程序員,不管是否有開發經驗,都能讀取相應的描述,並象遵循醫生的處方一樣使用預先確定的指令,並取得可以預料的進步。

一個重構的例子稱作封裝字段。封裝字段意指,使字段名成為私有的並通過公共的屬性方法來限制到這些字段的存取。限制到一對象的狀態的存取優於無限制的存取,封裝字段正是基於相信對數據的限制存取所具有的價值(有些人可能還不同意基本的前提-有約束的存取優於自由的存取-而有些人還認為基於對象進行設計並沒有多少好處,更不用爭論重構是良性的還是非良性的問題了。不過,本文假定是良性的重構)。

三、實現宏

如果你正處於Visual Studio 2005的一個C#工程上下文中,那麼一定會存在一個重構菜單。而在VB.NET工程上下文中,是不存在這樣的菜單的(至少到目前發行的beta 2版本中是如此)。然而,你能容易地為VB.NET仿效這種支持的行為-例如通過書寫一個輕量級的代碼生成器來實現封裝字段(或其它重構)。

為了實現封裝字段,自動化下列步驟:

1. 選擇一個字段,不需要一個一致的屬性方法。

2. 把字段的存取修飾詞改成private。

3. 稍微改變一下該字段名以避免屬性沖突(使用任何你喜歡的習慣)。

4. 生成getter/setter屬性方法以及一些代碼已提供對該字段的存取。

提示:開始用宏進行工作的一個好辦法是打開宏記錄器,完成一項任務,進而分析在集成開發環境中生成了哪些宏語句。然後,再進一步歸納錄制下的宏。

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