見資源 By Brian Noyes 當一種新技術出現的時候,對于公司和開發者來說都是令人激動且有緊迫感的時刻。開發者們想學習新" name="description" />

移植到.NET

發表于:2007-05-25來源:作者:點擊數: 標簽:代碼本期.NET雜志移植
下載本期雜志代碼 java script:openWindowRes('http://www.fawcette.com/china/DotNetMagazine/2001_12/MigrateToNET/resource.asp')">見資源 By Brian Noyes 當一種新技術出現的時候,對于公司和開發者來說都是令人激動且有緊迫感的時刻。開發者們想學習新

下載本期雜志代碼
javascript:openWindowRes('http://www.fawcette.com/china/DotNetMagazine/2001_12/MigrateToNET/resource.asp')">見資源
By Brian Noyes

當一種新技術出現的時候,對于公司和開發者來說都是令人激動且有緊迫感的時刻。開發者們想學習新的東西——有意思的東西,能保證使他們的生活更加輕松的東西。他們想處于技術工作的最前沿。管理人員和市場人員也急于了解新技術,以便在市場宣傳中做得更好,并且使公司更具有競爭力,通過對新技術的使用,使公司獲得更多的回報。沒有人希望公司仍然用舊的、過時的東西。

對于基于Windows平臺和其他平臺的開發者來說,.NET 正在成為一種令人激動的,具有革命性的——或者最起碼說有發展性的新技術。無論您是Web開發者,組件開發者,數據開發者,VB GUI 開發者,或者任何基于Windows平臺的開發者,.NET都承諾使您更好地完成您的工作。


				圖1.
圖1. 移植基于組件的框架結構程序到.NET
但問題是怎么從當前的狀況轉向.NET。想說服管理者和用戶接受新技術是困難的,尤其是在正式版本發布之前?!霸鯓釉谀愕捻椖恐姓{整自己來轉向.NET”,這是一個經常被問到的問題,答案是“看情況....”我會給你一些把你的項目轉向.NET之前所需要考慮的事項,以及不同的.NET技術所適應的最好的領域。對這些了解之后,你就有了充足的理由說服你的客戶并使其同意轉向.NET開發。

嘗試基于組件的框架結構
對于大多數你正在開發的系統而言,你不必放棄你已開發好的的軟件,而一步轉向.NET。通過.NET的互用性,你可用.NET所提供的語言,工具,技術進行開發,開發出的新模塊可以和以前的模塊很好的協同工作。

互用性存在于.NET的許多層面,他們包括針對C++, COM/COM+ 的管理擴展,管理提供者及平臺調用(P/Invoke)。所有這些互用性可以根據你要移植的代碼的類型或者功能, 輕松地使你把你的框架轉換成.NET 框架,而不需要重寫所有代碼。

clearcase/" target="_blank" >cccc99>商業應用
節約成本將會增加收入
當你分析將要開發的工程來決定他們那個適合用.NET來開發從而獲得更高的效益時,你會看一看公司內部項目和他們的開發成本....
從最高的層面上來講,為了順利地轉向.NET,你現在最應該做的是在開發過程中盡量使代碼和功能組件化。因為基于組件的框架結構允許并行開發,提高可維護性、可用性且利于產品的發布。.NET的核心是面向組件的,Juval Lowy 的文章 -“用.NET設計一個新的課程“,在.NET的組件架構發面有一些不錯的見解,我這里就不詳細介紹了。

如果你現在有幸用預發布的.NET版本進行開發的話,那么做好轉變的準備吧。.NET架構和語言可使面向組件的開發成為一件輕松的事。豐富的架構庫可使你的代碼更加高效。用多語言的軟件公司也會受益于.NET,因為所有的.NET開發者都用同一個開發庫(所用語法會根據語言的不同會有很小的差別),所以他們可以共享在開發過程中所獲得的經驗。相反,在當前的多語言開發中,如VB開發者,腳本開發者,C++開發者用的是不同的庫和技術。

如果現在不能用.NET開發,那么盡量把你要實現的功能做成COM或者COM+組件。如果你這樣做了,你就可以利用.NET的COM互用性在.NET中直接使用他們。使你的代碼結構盡量接近COM組件的結構,也可以使你在日后方便地把他們轉換成.NET組件,如果你愿意的話(參照圖1)。

.NET的另外一個重要特性是:它支持跨語言的開發。你現在可以從Visual Studio.NET 所帶的語言——C#, C++, VB 和JScript, 或者第三方為.NET所開發的語言中選擇適合你的。但是,即使你不想學習一種全新的語言,如C#,你仍然需要一些在.NET中寫代碼的技巧。

C++開發者可以通過C++(MC++) 管理擴展編寫.NET代碼。但不幸的是,為了使用MC++ ,你必須學習新的語言擴展、關鍵字、屬性,以及哪些C++語法在.NET中是合法的,那就意味著你無論如何要學習一種新的語言。而且因為你的代碼中有了那些額外的東西,所以很難被讀懂。

盡管我有十多年的C++編程經驗,我仍感到在開發.NET應用程序的過程中C#是一種高效的,簡單的語言。相對于C#,MC++ 提供更強大的功能,而且在把你的程序分割成本地代碼和受管代碼時,更加簡單、靈活。在一些對程序運行效率要求很嚴格的場合,你可以用C++寫本地代碼應用程序。如果你想用C++寫本地應用程序及COM組件,那么在.NET的開發中你仍需要使用MC++。ALT Server是一種通過使用ALT來創建高性能Web Services的新技術,它是基于C++的,并附帶有一些ALT庫。


				圖2.
圖2. SOAP 和Web Services提供跨平臺的互用性
對VB的開發者來說,VB.NET已真正、全面地支持面向對象的能力,它包括等待已久的繼承和多態。但要付出的代價是:VB.NET 使用和以前版本的VB不同的代碼結構。VB IDE向用戶提供被以前VB所隱藏起來的細節,比如說:事件分派、類型轉換及錯誤處理。VB.NET的IDE仍為你做許多事情,但你會了解這些,而不像以前那樣被隱藏起來,對于初學者來說,可能感到代碼更難讀了,但對于有經驗的VB程序員來說,這是一個很大的進步,尤其在代碼調試中,比如說調試COM程序。

JScript 也被改進成為一種全面支持.NET的語言,但它可能主要被用在基于.NET的Web應用程序中,而不是單獨的應用程序。

在.NET中C#是一種嶄新的語言,它提供像C++, Java,和Smalltalk等以前的面向對象語言所提供的特性及功能,實際上C#是一種把他們揉和在一起,類似C++語法的新語言。所以很好解釋為什么許多C++甚至VB開發者選擇C#作為他們的.NET開發首選語言。C#簡單易用。微軟的大部分的.NET構架類庫用C#寫,從這一點也可以看出C#的重要性。

你必須首先為你的.NET開發選擇一種語言,然后培訓員工使用這種語言及和.NET相關的一些新特性,這一步是很關鍵的。在允許開發者選擇他們喜歡的語言方面,你有比以前更大的靈活性。不過你需要有配置管理這方面的考慮,很多公司會在用好幾種語言寫成的代碼面前不知所措。但是你會發現新的機遇,它能在你的不同項目中共享代碼。比如,對一個主要由面向組件的C++組成的現有項目來說,有許多工作要做,如果你想讓你的VB開發人員用現有的技術來做一些輔助工作的話,那是比較困難的,但是如果用.NET技術,那就很容易了。

原文轉自:http://www.anti-gravitydesign.com

評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97