新聞中心
在向大家詳細介紹C#和設(shè)計模式之前,首先讓大家了解下C#程序開發(fā),然后全面介紹C#和設(shè)計模式。

創(chuàng)新互聯(lián)建站專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、盧龍網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、成都商城網(wǎng)站開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為盧龍等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
通過提供一個框架,設(shè)計模式可以解決應(yīng)用開發(fā)中的許多問題。模式使得設(shè)計過程更加清晰高效,它特別適用于C#程序開發(fā),因為C#是面向?qū)ο蟮恼Z言?,F(xiàn)有的設(shè)計模式為你自己的類的設(shè)計提供了優(yōu)秀的模板,使用模式可以縮短軟件開發(fā)周期。
正如任何一個老練的面向?qū)ο蟮能浖_發(fā)者所了解的那樣,缺乏對設(shè)計模式最起碼的了解而來討論軟件設(shè)計架構(gòu)是不可思議的。如果不是全部那也有大多數(shù)的軟件應(yīng)用、工具和系統(tǒng)至少使用了一種甚至更多種設(shè)計模式。設(shè)計模式是一種對一套相互作用的類的描述,這些類為解決特定上下文環(huán)境中的一般性問題提供了框架。換句話說,模式為面向?qū)ο筌浖_發(fā)中的特定問題提供了解決方案。此外,模式一般也重視限制其適應(yīng)解決方案的相關(guān)約束和其它因素。類和類之間的連接和通信以及上下文細節(jié)共同定義了一個模式,它為任何一個面向?qū)ο筌浖O(shè)計中在特性和必要條件方面與之匹配的問題提供了解決方案。
我必須承認我是設(shè)計模式的一個熱心的支持者。自從我閱讀了Gamma、Helm、Johnson和Vlissides合著的那本創(chuàng)造性的著作《設(shè)計模式》以來,我就很少不用任何模式而設(shè)計軟件了。實際上,我在軟件設(shè)計的早期階段花了相當(dāng)可觀的時間來定奪可和將來架構(gòu)自然吻合的模式。畢竟,模式是經(jīng)過時間和應(yīng)用領(lǐng)域考驗過的對一些問題的解決方案,那些問題已經(jīng)被經(jīng)驗豐富的設(shè)計師、開發(fā)者和語言專家所解決。對任何一個正在進行軟件設(shè)計的人員來說,善用可加以利用的知識和專家經(jīng)驗是明智的。而采用一個已被反復(fù)證明是成功的解決方案而不是從頭發(fā)明一個新的往往是個好主意。
幾乎沒有開發(fā)人員能夠享受只寫小程序的奢侈了?,F(xiàn)代的應(yīng)用軟件和系統(tǒng)是復(fù)雜的,它們往往由成千上萬行代碼組成,并且在這些基礎(chǔ)代碼之上的代碼甚至更為龐大。僅僅對工具和語言的簡單掌握是不足以勝任程序設(shè)計要求的,公司軟件開發(fā)一般都要求在設(shè)計和架構(gòu)上具有極大的彈性,以適應(yīng)在產(chǎn)品開發(fā)的不同階段客戶的不斷變化的需求,甚至在產(chǎn)品發(fā)布后也常常如此。這種動態(tài)性要求軟件設(shè)計必須強健。它應(yīng)該能夠適應(yīng)變化并且不會帶來任何不必要的連鎖反應(yīng)—不應(yīng)該要求重寫潛在的、不相干的(子)系統(tǒng)。向不具備擴展能力的模塊添加特性和組件是令人沮喪的和難以達到預(yù)期目標的。封閉的、無彈性的設(shè)計遲早會被變化的壓力所壓垮。設(shè)計模式有助于彈性架構(gòu)的基礎(chǔ)鋪設(shè),而這,是每一個優(yōu)秀的面向?qū)ο笤O(shè)計的共同特點。
設(shè)計模式已經(jīng)被編目歸類以用于解決從細小問題乃至大規(guī)模架構(gòu)級問題。本文將介紹幾個流行的設(shè)計模式,在我自己的項目里,我發(fā)現(xiàn)它們很有用。盡管熟悉面向?qū)ο笤O(shè)計的概念有助于理解本文,但我并不假定你具備任何設(shè)計模式的預(yù)備知識。盡管任何適宜于面向?qū)ο箝_發(fā)的程序語言都可以用來闡明模式,但我將只用C#來編寫例子,也借此來展示這門語言的威力。我不會討論任何微軟.NET類庫細節(jié),相反,我將集中于使用C#語言作為設(shè)計面向?qū)ο筌浖墓ぞ摺?/p>
C#和設(shè)計模式
C#是一個現(xiàn)代的程序語言,它通過提供直接映射面向?qū)ο笤O(shè)計概念的句法結(jié)構(gòu)和語義支持來促進面向?qū)ο筌浖_發(fā)。這和C++大不相同,C++同時支持面向過程、面向?qū)ο蠛头盒途幊獭km然如此,如果你是一名C++程序員,跟進C#是非常容易的。對于C++程序員來說,這個學(xué)習(xí)曲線是相當(dāng)平坦的。即使你以前從未看過任何C#代碼,理解本文示例代碼也不應(yīng)該有任何問題。事實上,如果你發(fā)現(xiàn)C#對設(shè)計模式的實現(xiàn)更為清晰,我也不會有任何驚訝,特別是如果你以前使用設(shè)計模式編寫過代碼的話。一般討論設(shè)計模式的書籍和文章都會詳細地描述模式所要解決的問題和上下文細節(jié),并隨后提供一個規(guī)范的解決方案的描述。本文不會那么嚴謹,我只關(guān)注模式本質(zhì),并輔以適當(dāng)?shù)腃#示例來加以說明。
【編輯推薦】
- C#窗體里調(diào)用淺談
- C#調(diào)用ListEmployee命令
- C# CreateEmployeeDefinition()函數(shù)
- C#實現(xiàn)斷點續(xù)傳詳細剖析
- C# Employee對象淺談
網(wǎng)站題目:C#和設(shè)計模式簡單分析
URL網(wǎng)址:http://fisionsoft.com.cn/article/ccohiji.html


咨詢
建站咨詢
