上一篇以TDD方式介紹了數據類型轉換公共操作類的開發,並提供了單元測試和實現代碼,本文將演示通過擴展方法來增強公共操作類,以便調用時更加簡化。 下面以字符串轉換為List<Guid>為例進行討論。 觀察上面的代碼,它確實已經被封裝起來了,通過一個明確 ...
本系列文章將介紹一些對初學者有幫助的輔助類,這些輔助類本身並沒有什么稀奇之處,如何能發現需要封裝它們可能更加重要,所謂授之以魚不如授之以漁,掌握封裝公共操作類的技巧才是關鍵,我會詳細說明創建這些類的動機和思考過程,以幫助初學者發現和封裝自己需要的東西。創建公共操作類的技巧,大家可以參考我的這篇文章 應用程序框架實戰十二:公共操作類開發技巧 初學者必讀 。 封裝公共操作類,不僅要把技術上困難的封裝 ...
2014-11-11 18:28 13 6867 推薦指數:
上一篇以TDD方式介紹了數據類型轉換公共操作類的開發,並提供了單元測試和實現代碼,本文將演示通過擴展方法來增強公共操作類,以便調用時更加簡化。 下面以字符串轉換為List<Guid>為例進行討論。 觀察上面的代碼,它確實已經被封裝起來了,通過一個明確 ...
上一篇介紹了數據類型轉換的一些情況,可以看出,如果不進行封裝,有可能導致比較混亂的代碼。本文通過TDD方式把數據類型轉換公共操作類開發出來,並提供源碼下載。 我們在 應用程序框架實戰十一:創建VS解決方案與程序集 一文已經創建了解決方案,包含一個類庫項目和一個單元測試項目。單元測試將使 ...
前一篇擴展了兩個常用驗證方法,本文將封裝兩個Lambda表達式操作,用來為下一篇的查詢擴展服務。 Lambda表達式是一種簡潔的匿名函數語法,可以用它將方法作為委托參數傳遞。在Linq中,大量使用Lambda表達式進行查詢,不過這種Lambda表達式被Expression包裝成表達式樹 ...
任何系統都需要處理錯誤,本文介紹的異常公共操作類,用於對業務上的錯誤進行簡單支持。 對於剛剛接觸.Net的新手,碰到錯誤的時候,一般喜歡通過返回bool值的方式指示是否執行成功。 不過上面的方法有一個問題是,無法知道確切的錯誤原因,所以需要添加一個out參數來返回錯誤 ...
前面介紹了查詢的基礎擴展,下面准備給大家介紹一些有用的查詢封裝手法,比如對日期范圍查詢,數值范圍查詢的封裝等,為了支持這些功能,需要增強公共操作類。 Lambda表達式公共操作類,我在前面已經簡單介紹過,要么從Lambda表達式中獲取信息,要么動態創建Lambda表達式,本篇直接貼代碼 ...
為了能夠驗證領域實體,需要一個驗證公共操作類來提供支持。由於我將使用企業庫(Enterprise Library)的驗證組件來完成這項任務,所以本文也將演示對第三方框架的封裝要點。 .Net提供了一個稱為DataAnnotations的驗證技術,即在對象的屬性上添加一些Attribute ...
當你使用可空的值類型時,你會發現取值很不方便,比如Guid? obj,你要從obj中獲取值,可以使用Value屬性obj. Value,但obj可能為null,這時候就會拋出一個異常。 可空值類型提供了一個HasValue屬性,它可以識別出obj是不是一個null值,每當你獲取可空值 ...
應用程序框架公共操作類(八):Lambda表達式公共操作類(二)。 面對GetValue雜亂無章的代碼,我 ...