有人可以告訴我是否應該在我的項目中儘可能使用用戶控件?如果不是爲什麼,爲什麼不呢?asp.net中usercontrol的優缺點
回答
這是一個有趣的問題;但是可以這樣想。
你剛剛寫了一張表,列出了你所有的用戶。您可以在網站的「列表用戶」頁面上顯示。
在「查找用戶」頁面上,您可能希望能夠顯示用戶列表。你是否像以前一樣重寫相同的HTML,代碼,JavaScript,CSS?或者你是否重用了控件,這次添加了用戶名或其他屬性進行過濾的功能?
本質上,用戶控件可以打包網站的可重用位。您可以將其打包在用戶控件中,而不是將其添加到任何地方,只需添加適當的標籤即可將其添加到您想要的任何頁面。
此外,你剛剛在你的項目中做了一個控制,負責處理某些功能 - 它的所有邏輯都在一個地方,並與其他代碼分開。這也是一個重要的概念,因爲它可以阻止所有的代碼混雜在一起。在用戶示例中,您可以通過界面與用戶列表進行交互,而不是將其與其他可能做不同事情的代碼混合。這被稱爲SRP,可以是一件好事。
作爲一個實際的例子,我們有一個顯示我們產品列表的控件。我們可以在查找屏幕,管理員屏幕,「像這樣的產品」屏幕以及「您選擇的產品」屏幕上重複使用相同的控件。這段代碼包含許多邏輯,它們都集中在一個地方,因此可以很容易地維護它,並且它也可以很簡單地重用。
用戶控件可以是一件非常好的事情。所以你應該使用它們,當你覺得你可以打包一組現有的控件,HTML等。它使它們可重用,並且更容易維護。
還有自定義控件的概念 - 這些通常是現有控件的重新實現 - 例如,您可能有一個ExtendedTextBox,用於驗證文本是否有人輸入它。
我會盡可能使用VS IDE工具箱提供的控件。如果環境提供的東西沒有完成我想做的事情,我只會推出我自己的控制。
用戶控件是很好的爲子程序/功能/方法擅長同樣的原因:代碼(和標記)再利用。
就像子程序一樣,如果控件做了諸如修改全局狀態,做大量數據庫或其他不常用的離線調用,引入不可避免的同步阻塞等,控件可能會成爲問題。它們也可以添加如果它們從未被重複使用,那麼它就是不必要的複雜層。
- 1. WPF:使用WPF UserControl的優點/缺點是什麼?
- 2. StyleCop,優點/缺點
- 3. BPMN的優缺點?
- 4. XCODE4的優缺點?
- 5. MongoDB的優缺點?
- 6. Three20的優點和缺點
- 7. SOAP Pooling的優點/缺點
- 8. N2CMS的優點和缺點
- 9. smartGWT的缺點和優點
- 10. Axis2優於WCF的優點和缺點
- 11. asp.net中的usercontrol
- 12. SSIS包:優點 - 缺點
- 13. 優點/缺點MemoryStream.Position或MemoryStream.Seek
- 14. AUTONOMOUS_TRANSACTION:優點和缺點
- 15. gwt + grail ..優點和缺點
- 16. MDI優點和缺點
- 17. QLPreviewController與UIWebView - 優點/缺點
- 18. WCF - 優點和缺點
- 19. 優點和缺點mapquest android
- 20. 使用≠like!=優點/缺點
- 21. Memcached - 優點和缺點
- 22. 在asp.net應用程序中使用緩存的優缺點?
- 23. 在ASP.NET MVC應用程序中MS Ajax與jQuery的優缺點?
- 24. 使用MessageFormat的優缺點
- 25. CSS格式的優缺點
- 26. NSDocument架構的優缺點
- 27. Java Portlets的優缺點?
- 28. UILabel drawTextInRect的優缺點?
- 29. .htc文件的優缺點
- 30. 使用log4j的優缺點
我喜歡的另一個例子是當我將標籤,文本框,驗證器和周圍的html分組到一個用戶控件中,然後在編輯屏幕中使用它:'Required =「true」ValidationExpression =「...」/>。將此行與原始的以及將要設置的所有屬性進行比較。巨大的收益! –
2011-12-16 22:26:04