Time of Update: 2018-12-06
隨感 可能是對繼承的理解不是很透徹,也或者習慣了靜態定義和使用繼承,今天剛看到裝飾模式的時候,卻是暈了好一會。 TerryLee的Blog中對裝飾模式的引入和討論真是思路清晰,精準到位,跟著他的思路,總算有點頭緒。習慣了過程化編程的我,對於這種需求的變化,首先想到的肯定是改寫實現方法體即可。但是通過這段時間學習設計模式和設計原則,我明白這樣做的代價只能是維護和擴充的痛苦和艱難。所以,嘗試著用OO的思想來沖洗我過程化的習慣,一時還真的覺得挺難接受。
Time of Update: 2018-12-06
實現系統可能有多角度分類,每一種分類都有可能變化,那麼就把這種多角度分離出來讓他們獨立變化,減少他們之間的耦合。 體現了:優先使用組合而不是繼承的設計原則 一般實現:CodeCode highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
參考:http://www.cnblogs.com/pursue/articles/1614285.html 有時必須比較兩個值是否相等。 在某些情況下,您測試的是“值相等性”(也稱為“等效性”),意即兩個變數包含的值相等。 而在其他情況下,則必須確定兩個變數是否引用記憶體中的同一基礎對象。 這種類型的相等性稱為“引用相等性”(或“標識”)。 1.Object.ReferenceEquals(object objA,object
Time of Update: 2018-12-06
學習設計模式也有一段時間了,但此次卻是第一次將設計模式運用到實際開發中,可能此文設計內容過於簡單,但畢竟是一次嘗試。發到首頁只希望與各位交流,如有不足,請多指教...謝謝~ 緣由 一直在開發一個控制產品入庫和出貨的系統,基本的商務程序是這樣的:首先開立產品入庫聯絡單,然後倉庫會根據此單據到進行產品實物入庫,待確認數量,料號無誤後,此資訊要拋轉ERP系統中,以作賬務控制...(其中更多作業細節從略) 對於此需求,我簡單的就依過程化的方式進行了實現: 封
Time of Update: 2018-12-06
LINQ運算式在定義以後,也只是一個定義,其對集合的“查詢”在這個時候其實是沒有進行的,實際的動作發生在定義之後對這個定義進行操作的時候。這就是所謂的延時執行: 有例為證:CodeCode highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
測試代碼:(不知道怎麼回事,粘貼不了代碼) 分析如下:說明:左側為棧,右側為堆。 注意:在(Angle)objectAngle中,執行了拆箱動作(擷取對象objAngle中屬於實值型別Angle部分的欄位地址),然後在IL的演算堆棧中建立一個臨時的Angle實值型別執行個體,該實值型別接受一份objectAngle當前所引用對象的屬於Angle實值型別部分(也可稱作‘未裝箱部分’)的資料拷貝,並未發生資料到“通常意義上的棧”(我不知道此處如何表達,暫且寫成“通常意義上的棧”,自己先慢慢理解)的
Time of Update: 2018-12-06
結論:使用Chart.AlignDataPointsByAxisLabel()方法通過其軸標籤沿 X 軸對齊不同系列中的資料點時,該方法應寫在不同系資料行繫結資料之後,否則不能達到效果。分析:圖1 Chart.AlignDataPointsByAxisLabel()寫在系資料行繫結資料之前的效果 圖2
Time of Update: 2018-12-06
1.登入的代碼 1 [HttpPost] 2 public ActionResult Index(User entity) 3 { 4 User user = GetUser(entity.Name, entity.Password); 5 if (user != null) 6 { 7 FormsAuthenticationTicket authTicket
Time of Update: 2018-12-06
學習了面板模式,才發現原來不經義間,自己已經不止一次的用過此模式了。 面板模式強調,外部(用戶端)與子系統之間通過一個統一的介面(外觀)進行通訊。也就說,一個系統中可能包括很多子系統,用戶端與其中的任何子系統的通訊都通過統一的外觀實現,而避免使用戶端直接與子系統發生關係。 記得曾經有個項目:資料操作涉及三地三個資料庫,也就是說每做一個動作(比如說insert),都要insert到三地去,涉及三個資料庫。 記得最初的代碼是這樣寫的:
Time of Update: 2018-12-06
關於這次嘗試的實踐在上次發文後(http://www.cnblogs.com/Ivan-Yan/archive/2008/10/29/1322119.html),得到了幾位朋友(木野狐(Neil
Time of Update: 2018-12-06
對於多個選擇支的應用,簡單的我們多用If解決,或者應用Switch來做。對於比較複雜的應用,用Switch處理難維護,難擴充。為瞭解決這個問題,我們通常可以用設計模式【比如策略模式】來解決。下面的這個解決方式來自CodeProject一個Programmer的解決方案,也可以輕鬆解決。CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--
Time of Update: 2018-12-06
來自:http://social.msdn.microsoft.com/Forums/de-DE/visualcshartzhchs/thread/4b55fc5b-fa87-4861-b1e3-3be397612872 隱式類型從Visual C# 3.0開始,在方法體內可以聲明隱式的變數類型VAR。我們可以按照以下顯示的方法使用修飾符VAR告訴編譯器推斷和宣告類型:var i = 23; // int i = 23;var s = "Hello"; // string s=
Time of Update: 2018-12-06
在使用Silverlight之前,我們建立了自己的webService做為通用資料訪問。開發人員傳遞一個Sql語句,即可得到一個DataSet,DataTable作為傳回值。在Silverlight項目中,由於其對DataTable的限制,我們不得不首先得到DataTable,而後在本地再建立Web service(WCF),對得到的DataTable進行轉換。轉換為數組或者泛型集合以適應Silverlight的需要。 但是這樣做難免有些繁瑣,且開發人員做出了很多費力的工作。
Time of Update: 2018-12-06
書上說簡單原廠模式不是23種經典設計模式中得一種。但不管怎麼樣,作為一種編程的思想,還是很有必要學習一下。 簡單原廠模式的核心是通過建立工廠類,此工廠類根據傳遞的參數不同,執行個體化不同的具體類。這裡面涉及到幾部分內容: 1.工廠類:負責建立具體類執行個體 2.抽象類別 :所有具體類的抽象父類,可以是介面,也可以是普通類,更可以是抽象類別 3.具體類 :抽象類別的具體實作類別,一般有多個。
Time of Update: 2018-12-06
我們知道,在silverlight中對service(web service,wcf)添加引用後,會產生一個config檔案: ServiceReferences.ClientConfig.如下所示:CodeCode highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
最近維護一個老項目,項目需要分頁取資料,之前很久都用EF架構開發,突然要用SQL分頁有點茫然,於是總結了一些SQL Server SQL分頁的思路,以便加深記憶。一:用top排序的方式 1 DECLARE @PageSize INT = 20 2 DECLARE @PageIndex INT = 2 3 4 SELECT TOP ( @PageSize ) 5 * 6 FROM ( SELECT TOP ( @PageSize * @PageIndex ) 7
Time of Update: 2018-12-06
一直在使用web service,偶爾也會用到.net Remoting,但是直到學習了代理模式,才發現原來他們都採用的這種技術。 引入 代理模式的使用非常廣泛。開發過程中,有些對象是部署在網路中另外一台server上,比如web
Time of Update: 2018-12-06
今天重讀建造者模式【Build
Time of Update: 2018-12-06
在開發Silverligh程式的時候,發現了一個問題。 先看一段代碼:目的很簡單,就是在執行查詢的時候進行非同步處理。CodeCode highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
最近項目中用到了siverlight 2.0 中Treeview。本來用的是ms Toolkit中的treeview,其實還是蠻強大的。但是由於操作中可能涉及節點的拖拽,實現起來有點麻煩。無意間發現了這個Liquid controls 網站,其treeview的實現真的太帥了。 在其最新發行的controls 【Silverlight 2 Controls V5.1.8 Released】中,大概包括20個控制項:treeview,menu,rich