我讀設計模式之裝飾模式(Decorator Pattern)

     隨感          可能是對繼承的理解不是很透徹,也或者習慣了靜態定義和使用繼承,今天剛看到裝飾模式的時候,卻是暈了好一會。     TerryLee的Blog中對裝飾模式的引入和討論真是思路清晰,精準到位,跟著他的思路,總算有點頭緒。習慣了過程化編程的我,對於這種需求的變化,首先想到的肯定是改寫實現方法體即可。但是通過這段時間學習設計模式和設計原則,我明白這樣做的代價只能是維護和擴充的痛苦和艱難。所以,嘗試著用OO的思想來沖洗我過程化的習慣,一時還真的覺得挺難接受。       

我讀設計模式之Bridge模式

      實現系統可能有多角度分類,每一種分類都有可能變化,那麼就把這種多角度分離出來讓他們獨立變化,減少他們之間的耦合。   體現了:優先使用組合而不是繼承的設計原則   一般實現:CodeCode highlighting produced by Actipro CodeHighlighter

==、object.Equals()、object.ReferenceEquals()

 參考:http://www.cnblogs.com/pursue/articles/1614285.html 有時必須比較兩個值是否相等。 在某些情況下,您測試的是“值相等性”(也稱為“等效性”),意即兩個變數包含的值相等。 而在其他情況下,則必須確定兩個變數是否引用記憶體中的同一基礎對象。 這種類型的相等性稱為“引用相等性”(或“標識”)。 1.Object.ReferenceEquals(object objA,object

一次運用設計模式對現有系統進行重構的嘗試(一)

    學習設計模式也有一段時間了,但此次卻是第一次將設計模式運用到實際開發中,可能此文設計內容過於簡單,但畢竟是一次嘗試。發到首頁只希望與各位交流,如有不足,請多指教...謝謝~        緣由     一直在開發一個控制產品入庫和出貨的系統,基本的商務程序是這樣的:首先開立產品入庫聯絡單,然後倉庫會根據此單據到進行產品實物入庫,待確認數量,料號無誤後,此資訊要拋轉ERP系統中,以作賬務控制...(其中更多作業細節從略)     對於此需求,我簡單的就依過程化的方式進行了實現:     封

LINQ的順延強制與解決

     LINQ運算式在定義以後,也只是一個定義,其對集合的“查詢”在這個時候其實是沒有進行的,實際的動作發生在定義之後對這個定義進行操作的時候。這就是所謂的延時執行:             有例為證:CodeCode highlighting produced by Actipro CodeHighlighter

容易被忽視的裝箱問題

測試代碼:(不知道怎麼回事,粘貼不了代碼) 分析如下:說明:左側為棧,右側為堆。  注意:在(Angle)objectAngle中,執行了拆箱動作(擷取對象objAngle中屬於實值型別Angle部分的欄位地址),然後在IL的演算堆棧中建立一個臨時的Angle實值型別執行個體,該實值型別接受一份objectAngle當前所引用對象的屬於Angle實值型別部分(也可稱作‘未裝箱部分’)的資料拷貝,並未發生資料到“通常意義上的棧”(我不知道此處如何表達,暫且寫成“通常意義上的棧”,自己先慢慢理解)的

通過其軸標籤沿 X 軸對齊不同系列中的資料點

結論:使用Chart.AlignDataPointsByAxisLabel()方法通過其軸標籤沿 X 軸對齊不同系列中的資料點時,該方法應寫在不同系資料行繫結資料之後,否則不能達到效果。分析:圖1  Chart.AlignDataPointsByAxisLabel()寫在系資料行繫結資料之前的效果 圖2

MVC 基於FormsAuthentication 方式的許可權驗證

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

我讀設計模式之面板模式(Facade Pattern)

     學習了面板模式,才發現原來不經義間,自己已經不止一次的用過此模式了。       面板模式強調,外部(用戶端)與子系統之間通過一個統一的介面(外觀)進行通訊。也就說,一個系統中可能包括很多子系統,用戶端與其中的任何子系統的通訊都通過統一的外觀實現,而避免使用戶端直接與子系統發生關係。          記得曾經有個項目:資料操作涉及三地三個資料庫,也就是說每做一個動作(比如說insert),都要insert到三地去,涉及三個資料庫。              記得最初的代碼是這樣寫的:

一次運用設計模式對現有系統進行重構的嘗試(二)

      關於這次嘗試的實踐在上次發文後(http://www.cnblogs.com/Ivan-Yan/archive/2008/10/29/1322119.html),得到了幾位朋友(木野狐(Neil

用Dictionary應用取代Switch

      對於多個選擇支的應用,簡單的我們多用If解決,或者應用Switch來做。對於比較複雜的應用,用Switch處理難維護,難擴充。為瞭解決這個問題,我們通常可以用設計模式【比如策略模式】來解決。下面的這個解決方式來自CodeProject一個Programmer的解決方案,也可以輕鬆解決。CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--

Anonymous type and implicit type

來自: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=

為Silverlight 項目建立通用WebService資料訪問

     在使用Silverlight之前,我們建立了自己的webService做為通用資料訪問。開發人員傳遞一個Sql語句,即可得到一個DataSet,DataTable作為傳回值。在Silverlight項目中,由於其對DataTable的限制,我們不得不首先得到DataTable,而後在本地再建立Web service(WCF),對得到的DataTable進行轉換。轉換為數組或者泛型集合以適應Silverlight的需要。     但是這樣做難免有些繁瑣,且開發人員做出了很多費力的工作。 

我讀設計模式之簡單原廠模式

     書上說簡單原廠模式不是23種經典設計模式中得一種。但不管怎麼樣,作為一種編程的思想,還是很有必要學習一下。     簡單原廠模式的核心是通過建立工廠類,此工廠類根據傳遞的參數不同,執行個體化不同的具體類。這裡面涉及到幾部分內容:     1.工廠類:負責建立具體類執行個體     2.抽象類別 :所有具體類的抽象父類,可以是介面,也可以是普通類,更可以是抽象類別     3.具體類 :抽象類別的具體實作類別,一般有多個。    

Silverlight 動態配置WebService

      我們知道,在silverlight中對service(web service,wcf)添加引用後,會產生一個config檔案: ServiceReferences.ClientConfig.如下所示:CodeCode highlighting produced by Actipro CodeHighlighter

SQL 分頁查詢的幾種方式

最近維護一個老項目,項目需要分頁取資料,之前很久都用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

我讀設計模式之代理模式(Proxy Pattern)

     一直在使用web service,偶爾也會用到.net Remoting,但是直到學習了代理模式,才發現原來他們都採用的這種技術。        引入     代理模式的使用非常廣泛。開發過程中,有些對象是部署在網路中另外一台server上,比如web

我讀設計模式之建造者模式(Builder Pattern)

     今天重讀建造者模式【Build

對Delegate的誤用及解決辦法

      在開發Silverligh程式的時候,發現了一個問題。      先看一段代碼:目的很簡單,就是在執行查詢的時候進行非同步處理。CodeCode highlighting produced by Actipro CodeHighlighter

Liquid Controls For Silverlight 2.0

        最近項目中用到了siverlight 2.0 中Treeview。本來用的是ms Toolkit中的treeview,其實還是蠻強大的。但是由於操作中可能涉及節點的拖拽,實現起來有點麻煩。無意間發現了這個Liquid controls 網站,其treeview的實現真的太帥了。     在其最新發行的controls 【Silverlight 2 Controls V5.1.8 Released】中,大概包括20個控制項:treeview,menu,rich

總頁數: 61357 1 .... 8473 8474 8475 8476 8477 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.