一什麼是組件?
查看MSDN微軟是這樣給組件定義的在 NET Framework 中組件是指實現 SystemComponentModelIComponent 接口的一個類或從實現 IComponent 的類中直接或間接派生的類這是從純語言(技術)角度下的定義通俗的講組件是可獨立運作的軟件單元這裡強調獨立運作也就代表著組件必須擁有低耦合性高重用性等特點微軟將軟件劃分為兩部分其一是Component意指具備特定功能可獨立運作不具備UI接口的單元其二是Control也就是我們常說的控件意指具備特定功能可獨立運作的UI接口單元
二學習Aspnet組件需要掌握的知識
任意掌握一門net語言建議使用C#C#是一門全新的語言但又借鑒了C++和JAVA的語法同時引入了一些新概念在程序員中口啤不錯
理解IIS的運行機制和aspnet的運行模式
熟練掌握javascript該腳本語言強大的功能在處理客戶端動作時表現非常出色基本上所有的自定義組件都離不開javascript同時CSS和DHTML也是要心知肚明的沒辦法他們很少會單獨出現總是喜歡集體演出
三組件設計的難度
這個問題不用問也許您猜出了幾分一個字難
您也許會有所察覺在編寫aspnet應用程序時很少會對viewstate作深入的研究原因很簡單因為ViewState本身設計的用戶對象本來就不是應用程序員而是組件設計員如果不是因為客戶端需要您也不會在aspnet中編寫大量的javascript腳本而在組件設計中很難逃脫干系不止這些是否設計成服務器組件?我們的組件是繼承Control還是繼承WebControl或是繼承Component?在組件中需要自定義Attribute嗎?需要實現數據綁定嗎?如何繪制組件的外觀?如何和IIS通訊?需要postback嗎?很多很多的問題都需要組件設計者——辛苦的您去一一考慮
所以如果您不屑一顧地說不就是設計一個組件嗎?這有何難!那麼我會嘿嘿一笑因為我知道您一定在開玩笑
但是千萬別怕程序員需要探索精神哦!
四基類的選擇
如果我們設計的是一個WEB可視控件並且構成WEB頁的一部分那麼可以繼承Control類或者WebControl類如果是一個非可視控件可以繼承Component繼承此類的控件設計時不會出現在頁面上而是出現在Component Tray中還記得OpenFileDialog控件嗎?這個文件打開對話框控件就是出現在Component Tray控件中的
如果我們只是在已有的控件基礎上增強功能那麼就繼承該已有的控件吧
五實踐出真知
From:http://tw.wingwit.com/Article/program/net/201311/15569.html