單例模式的特點:
程式舉例:
//singleton pattern -- structural example
using
system;
//"singleton"
class
singleton
//methods
public
static
singleton instance() }
//////
client test
///public
class
client
}
策略模式的用意是針對一組演算法,將每乙個演算法封裝到具有共同介面的獨立的類中,從而使得它們可以相互替換。策略模式使得演算法可以在不影響到客戶端的情況下發生變化。
程式舉例:
//strategy pattern -- real world example
using
system;
using
system.collections;
//"strategy"
abstract
class
sortstrategy
//"concretestrategy"
class
quicksort : sortstrategy}//
"concretestrategy"
class
shellsort : sortstrategy}//
"concretestrategy"
class
mergesort : sortstrategy}//
"context"
class
sortedlist
//methods
public
void
sort()
public
void add( string
name )
public
void
display() }
//////
///public
class
}
open-closed principle原則講的是:乙個軟體實體應當對擴充套件開放,對修改關閉。
liskov substitution principle(黎克特制代換原則):父類中的成員在子類中都有實現,反之則不一定.因此可以用子類例項替換父類例項,以達到相同的功能(具體實現可能不一樣),反之則不可以.
如:class human
}class chinese:human
}class client
}
c 設計模式研究啟動篇
我絕不是乙個三心二意的程式設計師,但事實上已經是這樣了哈。目前在學習設計模式中,目前已熟悉抽象工廠 builder 單例 原型 這幾類設計模式,除了應用了前面三個基礎的設計模式,其它僅限於熟悉,有些設計模式研究了他的思想之後,由於沒有應用,雖然可以說出個基本思想,但是很難順口拈來。還需要大量的實踐和...
C 設計模式之簡單工廠篇
首先定義乙個介面,具體名為idatabase,在這個介面中,定義好資料庫操作的方法名和引數,以及返回值,本案例中我定義如下方法 public inte ce idatabase catch sqlexception public bool open catch sqlexception public...
C 設計模式之簡單工廠篇
首先定義乙個介面,具體名為idatabase,在這個介面中,定義好資料庫操作的方法名和引數,以及返回值,本案例中我定義如下方法 public inte ce idatabase catch sqlexception public bool open catch sqlexception public...