在生產代碼中使用反射的最佳示例是什麼?真實世界的反射示例
回答
ASP.NET MVC推斷動作和控制器從URL調用。一般路由。
WPF數據綁定:
1)綁定路徑 「(TextBox.Text)」 與 「文」?
如果綁定到名爲Text的路徑,WPF將使用反射來解析名稱。如果使用類限定名稱,綁定可以避免反射性能受到影響。類限定名稱還允許綁定到附加屬性!
(通過http://dotnet.org.za/rudi/archive/2008/03/25/10-things-i-didn-t-know-about-wpf-data-binding.aspx)
最近,我不得不使用反射來加載程序集(以調查其公共類型)從組件的人的路。
- NUnit Unit Testing Framework - 不是很典型,雖然
- CSLA使用反射很多
- 幾乎任何Windows窗體應用程序,支持插件
之前的Linq To Sql的走了出來......我不得不在.NET 2.0中編寫我自己的ORM。
我用反射很大程度上反映回:
- 類的CRUD存儲過程
- 屬性他們的列名
- 哪些操作是有效的類
我在返回結果後,還使用了反射來處理所有變量賦值(所有類都繼承了處理調用到DAL中的ActiveRecord類)。
粗糙的東西......但經過一些性能調整後,它不是一半壞。
我的DAL是全部基於反射的。它反映了構建SQL的POCO屬性。
拉取數據出來,你有一個ID,類型等數據的SQL表的
然後,你可以加載「雪佛蘭」,並與它的所有作品的方法
在一個工廠,我們根據屬性文件中指定的類(使用Java),使用反射來傳回接口的「虛擬」實現或接口的實數(掛接到數據庫)實現。
我確實有機會一次性編寫一個Python O/R映射器,但它是一個概念驗證並且從未投入生產。
我做了很多工作,大量使用DBMS上的系統數據字典(例如通用緩慢更改的維度加載器)。可能有人認爲,這與原則上的反射式編程並不相同。
最後,所有形式的Python都很容易做反射。實際上,它非常好,我用它來挖掘其他語言中的底層API,並使用反射功能來查詢底層接口。我已經完成了Python世界中存在的幾乎所有反射機制:使用Python API的CPython和使用makepy的COM API,用於Java API的Jython和用於.Net API的IronPython。
在我最近的一個應用程序中,一個用於Kofax Express的插件,我可以選擇OCR文件並輸出PDF。由於我使用的OCR工具有運行費用,因此我使OCR部件成爲獨立組件。如果文件存在,我將顯示OCR選項,並延遲綁定程序集並調用所需的方法並使用反射附加到事件。簡單的插入式架構,無需接口,並且可以節省客戶無需支付使用費(如果他們不需要OCR);我們只是不會給他們OCR dll。
- 1. Builder模式的真實世界示例
- 2. OOPS的真實世界示例
- 3. PHP:真實世界的OOP示例
- 4. NPOI真實世界樞軸示例
- 5. RxJava的真實世界用例對象
- 6. 尋找真實世界的Gradle例子
- 7. Multiton - 真實世界的例子?
- 8. 真實世界中的Glassfish
- 9. PHP的高級OOP功能的真實世界示例
- 10. 在C#中使用#define的真實世界示例?
- 11. jQuery Galleria圖片庫JSON的真實世界工作示例
- 12. SOA架構使用.NET的真實世界示例
- 13. 真實世界Haskell示例中的模糊錯誤
- 14. WF和WPF交互的真實世界示例
- 15. @optional協議方法的真實世界示例
- 16. 真實世界併發軟件中讀寫的示例
- 17. 具有真實世界的Canonical QTranslator示例QLocale
- 18. 真實世界的部分函數示例
- 19. Redux關於真實世界示例的問題
- 20. 企業服務總線真實世界的用法或示例
- 21. 真實世界對象
- 22. ASP.Net MVC真實世界級示例業務應用程序
- 23. 真實世界Windows Azure成本計算示例,任何人?
- 24. 應用程序文件(真實世界示例)
- 25. jquery的真實世界實例$ .Callbacks();和它的功能
- 26. 什麼是TDD實際應用的高質量真實世界示例?
- 27. 如何在Symfony2中反序列化真實世界的JSON
- 28. 真實世界的盲源分離
- 29. 在真實世界中的oracle
- 30. 真實世界的3D應用