我相信看到這段文字的人,都具備了良好的技術功底。但是對於自己編寫的**總是充滿抱怨,希望能夠將自己編寫的**如**子一般先進行有效
的設計,然後在進行建設。那麼這篇文章能夠給你一些思路,這裡特別的說明只是思路,因為你可以根據實際組合改變使用這裡介紹的所有設計模式,而不是
跟遵守規章一樣,一絲不苟。下面我們就開始按照三種型別的設計模式進行闡述。
在我們的**中時時刻刻都充斥著建立物件,但是你曾今有無思考過,你的物件可以這麼建立,也可以那麼建立。同時還可以隨時隨刻切換。這是不
是難以置信?下面我們將會挖掘這其中的奧秘。
1abstract
class
baserectangle
2
1abstract
class
baseline
2
1abstract
class
canvasfactory
2
1.5.1 html5實現畫線條
1class
html5line : baseline27
8public
override
void setwidth(int
width)
912 }
1.5.2 html5實現畫矩形
1class
html5rectangle : baserectangle27
8public
override
void setlinewidth(int
width)
912 }
1.5.3 html5實現的畫布
1class
html5canvas : canvasfactory27
8public
override
baseline createline()
912 }
1.6.1 graphical實現畫線條
1class
graphicalline : baseline27
8public
override
void setwidth(int
width)
912 }
1.6.2 graphical實現畫矩形
1class
graphicalrectangle : baserectangle27
8public
override
void setlinewidth(int
width)
912 }
1.6.3 graphical實現的畫布
1class
graphicalcanvas : canvasfactory27
8public
override
baserectangle createrectangle()
912 }
1class
program212
13static
void main(string
args)
1423
24//
支援html5時
25 enabhtml5 = true;26
if(enabhtml5)
2730
console.readkey();31}
32 }
這裡我們其實就是公開了乙個畫布的抽象類以及兩種圖形的抽象類,用於給客戶使用的,而我們程式的內部會決定採用那種方式。這樣的好處
就是我們將底層的實現以及類名都隱藏了,同時客戶使用的時候只需要關注如何使用,而無需關注是哪個具體的類去實現客戶的需求。
C 設計模式 抽象工廠
抽象工廠模式的學習體會到了類與類之間的解耦重要性,並且類與類之間的聯絡也因為解耦看著更加的簡潔易懂,首先先了解到抽象工廠的定義是什麼 提供乙個建立一系列相關或相互依賴物件的介面,而無須指定它們具體的類。抽象工廠模式又稱為kit模式,屬於物件建立型模式,是工廠方法模式的公升級版,在有多個業務品種 業務...
c 設計模式(抽象工廠模式)
good 定義了乙個建立一系列相關或相互依賴的介面,而無需指定它們的具體類。用於交換產品系列,如access sql server 產品的具體類名被具體工廠的實現分離 例 include include include using namespace std 使用者抽象介面 class iuser ...
C 設計模式 抽象工廠模式
為建立一組相關或相互依賴的物件提供乙個介面,而且無需指定他們的具體類。抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的一種形態。抽象工廠模式是指當有多個抽象角色時,使用的一種工廠模式。抽象工廠模式可以向客戶端提供乙個介面,使客戶端在不必指定產品的具體的情況下,建立多個產品族中的產品物件。應用...