元件化程式設計和麵向物件程式設計
元件化程式設計:
在向大家詳細介紹C#元件化程式設計之前,首先讓大家瞭解下介面與元件,然後全面介紹C#元件化程式設計。
介面與元件
介面描述了元件對外提供的服務。在元件和元件之間、元件和客戶之間都通過介面進行互動。因此元件一旦釋出,它只能通過預先定義的介面來提供合理的、一致的服務。這種介面定義之間的穩定性使客戶應用開發者能夠構造出堅固的應用。一個元件可以實現多個元件介面,而一個特定的元件介面也可以被多個元件來實現。
元件介面必須是能夠自我描述的。這意味著元件介面應該不依賴於具體的實現,將實現和介面分離徹底消除了介面的使用者和介面的實現者之間的耦合關係,增強了資訊的封裝程度。同時這也要求元件介面必須使用一種與元件實現無關的語言。目前元件介面的描述標準是IDL語言。
由於介面是元件之間的協議,因此元件的介面一旦被髮布,元件生產者就應該儘可能地保持介面不變,任何對介面語法或語義上的改變,都有可能造成現有元件與客戶之間的聯絡遭到破壞。
每個元件都是自主的,有其獨特的功能,只能通過介面與外界通訊。當一個元件需要提供新的服務時,可以通過增加新的介面來實現。不會影響原介面已存在的客戶。而新的客戶可以重新選擇新的介面來獲得服務。
C#元件化程式設計
C#元件化程式設計方法繼承並發展了面向物件的程式設計方法。它把物件技術應用於系統設計,對面向物件的程式設計的實現過程作了進一步的抽象。我們可以把元件化程式設計方法用作構造系統的體系結構層次的方法,並且可以使用面向物件的方法很方便地實現元件。
元件化程式設計強調真正的軟體可重用性和高度的互操作性。它側重於元件的產生和裝配,這兩方面一起構成了元件化程式設計的核心。元件的產生過程不僅僅是應用系統的需求,元件市場本身也推動了元件的發展,促進了軟體廠商的交流與合作。元件的裝配使得軟體產品可以採用類似於搭積木的方法快速地建立起來,不僅可以縮短軟體產品的開發週期,同時也提高了系統的穩定性和可靠性。
C#元件化程式設計的方法有以下幾個方面的特點:
1、程式語言和開發環境的獨立性;
2、元件位置的透明性;
3、元件的程序透明性;
4、可擴充性;
5、可重用性;
6、具有強有力的基礎設施;
7、系統一級的公共服務;
C#語言由於其許多優點,十分適用於元件程式設計。但這並不是說C#是一門元件程式語言,也不是說C#提供了元件程式設計的工具。我們已經多次指出,元件應該具有與程式語言無關的特性。請讀者記住這一點:元件模型是一種規範,不管採用何種程式語言設計元件,都必須遵守這一規範。比如組裝計算機的例子,只要各個廠商為我們提供的配件規格、介面符合統一的標準,這些配件組合起來就能協同工作,元件程式設計也是一樣。我們只是說,利用C#語言進行元件程式設計將會給我們帶來更大的方便
面向物件程式設計:
面向物件程式設計強調的思想方法是:繼承、多型、封裝。