999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

關于設計模式的研究

2012-04-12 00:00:00趙鑫元
消費電子 2012年18期

摘要:現在Internet已經是全球最先進的技術之一,而Internet最先出現的時候叫做ARPAnet,而且它是本來是美國的一個項目,當時美國為了處理國家軍事范圍內的緊急事件,想要實現在遠距離通信,然后Internet慢慢發展起來,并產生了可觀的效益,之后Internet慢慢的從小變大,最后擴大到了全世界。

關鍵詞:Internet;計算機;程序;設計模式

中圖分類號:TP311 文獻標識碼:A 文章編號:1674-7712(2012)20-0021-01

說到Internet,就會聯想到計算機,說到計算機就會聯想到程序,然后就想到程序語言,我的畢業設計是一個游戲,使用C#來編寫代碼,并且使用Unity3D引擎來制作游戲,接下來我主要討論一下關于設計模式方面的知識。

說到設計模式,本人覺得設計模式是一個優秀的軟件設計師必備的知識,一般來說,在開發軟件的過程中,往往會產生一個問題,隨著時間的推移,對軟件的需求不斷的變化,因此就必須不斷的對軟件進行修改,而在修改的過程中,可能會改變軟件原始的框架設計,然后經過一段時間時候,這個軟件很有可能在很大程度上已經偏離的原始的框架設計,而且修改軟件的難度會不斷的增加,因為往往修改軟件一個部分之后,該軟件的其他部分會受到影響,因此會產生一些無法預料的各種小問題,這些問題雖然小,但是改起來特別的麻煩,一直到誰也不愿意去修改這個軟件,最后軟件開發商寧愿重新開發一款嶄新的軟件,并滿足所有的要求,于是這個軟件的循環又開始了。

設計模式強調的比較多的是代碼的復用,也就是說,我們在寫程序的時候往往會多次碰到相似的問題,傳統的方法就是再次碰見的時候就重新編寫代碼,之前編寫的代碼無法直接使用,或者需要修改一些代碼才能使用,于是就出現了代碼的copy,使得軟件里面多次出現了相似的代碼,這樣的代碼耦合度高、可讀性差,而應用設計模式知識來設計框架的時候,這種問題就會得到很好的緩解。

設計模式還有一個抽象概念,我理解的這個抽象的目的是為了封裝變化,抽象的每一種具體實現的方法聲明是不變的,但是每一種實現的方法內容又是變化的,而這里的不變和變化就很明顯的體現出了框架的穩定性和擴展性。

設計模式的目的就是解決或者減輕這種問題的影響,使用設計模式的思想來設計軟件,能夠讓軟件容納更多的可變性,也就是說在更多情況下對軟件進行修改的時候不會影響到該軟件的原始設計,并且隨著軟件的復雜度增加,修改的難度不會像原來那種開發模式下增加的速度快,也就是說可以減輕開發難度,使得軟件更加的清潔。

設計模式思想:

開閉原則:開閉原則是指軟件對擴展開放,對修改關閉,也就是說,框架設計好之后,可以向框架中添加代碼,但是不能修改已經有的代碼。開閉原則是設計模式的目標,一個軟件的設計越接近于開閉原則,那么這個軟件就越容易擴展,耦合性也越低,能夠使開發更有效率。

里斯代換原則:這個原則講的是只要是父類能夠存在的地方,它的子類也能夠存在。里氏代換原則是達到開閉原則的途徑。

接口隔離原則:講的是盡量把開放給客戶端的接口分成幾個部分,不要給客戶端開放過多的接口,這樣的話,每個客戶端只能訪問到自己需要的功能,不能訪問到自己不需要的功能,這樣能夠使得客戶端在調用程序的時候能夠不用關心它用不到的功能,使得客戶端調用功能的過程變的簡單,雖然這看起來貌似沒有簡單多少,但是在真正編程的時候,這一點是非常重要的,因為往往客戶端會不斷的調用功能,這樣每次都容易一點,很多次積累起來就節省了很多時間和精力。

迪米特法則:指的是程序之間盡量不要有直接的交流,也就是說要限制程序之前溝通的廣度和深度,這么做的一個好處就是能夠降低程序之間的耦合性,使得在一個模塊面臨修改的壓力的時候,盡可能少的或者不會吧這種壓力轉移到其他模塊里面,這樣就使得對軟件的修改變的簡單。也就是說設計模式的一個很大的好處就是使編程變的簡單,這一點我深有體會。

聚合原則:指的是盡量使用聚集而不是繼承,雖然繼承是一個非常重要的概念,但是繼承也會帶來一定的不靈活性,繼承的耦合度比較高,而聚集的耦合度就相對來說弱了很多,我也是在第三遍認真閱讀這一章的時候才真正理解這個意思,我覺得這是一個非常不錯的方法,并且在之后的程序設計里面把這個原則的思想加了進去,起到了比較好的效果。

依賴倒轉原則:指的是程序要依賴于抽象層,而不依賴于具體的實現層。而傳統的編程是抽象成依賴于實現層,也就是說,當一個具體的實現被改動之后,很有可能需要更改整個軟件的框架,這種工作量是非常可觀的,而設計模式的要求剛好反過來,于是這種原則叫做依賴倒轉原則,也就是說,抽象層是比較穩定的,一般不會改變的,這樣抽象層就比較好的實現了代碼的復用。

現在已經有二十多種比較好的設計模式,它們分成幾大類:創建模式、結構模式、行為模式。

創建模式是對類的實例化過程的抽象化,一些系統在創建對象時,需要動態地決定怎樣創建對象,創建那些對象,以及如何組合和表示這些對象。創建模式描述了怎樣構造和封裝這些動態的決定。

結構模式描述如何將類或者對象結合在一起形成更大的結構。結構模式描述兩種不同的東西:類與類的實例。根據這一不同,結構模式可以分為類的結構模式和對象的結構模式兩種。

行為模式是對在不同對象之間劃分責任和算法的抽象化,行為模式不僅僅是關于類和對象的,而且是關于他們之間的相互作用的。

這些設計模式中,每一個都有它適合的地方,但是不要把一種模式硬生生的套在自己的程序里面,應該根據情況的不同做一些變通,也就是說要對設計模式的思想理解清楚。

我覺得在設計模式領域里面的知識中,最重要的還是它的基本思想,萬變不離其宗,只要掌握了這些最基本的原則,那些具體的模式都是可以很容易就能掌握的。

設計模式最本質的就是擴展性和松耦合,設計模式可以讓程序適應軟件需求的不斷變化,并維持項目的開發速度。

接下來我說一下本人對幾個設計模式的理解。

工廠模式:工廠模式用來創建對象,就是把對象的創建任務交給工廠類在做,這樣就把對象的創建完美的封裝了起來,如果以后改變對象創建方式的時候就不需要改變客戶端。這種模式在一定程度上封裝了對象創建的可變性。

單例模式:顧名思義,就是只有一個實例,要求一個類只有一個實例的時候,可以考慮單例類,單例類有兩種實現方式:懶漢式和餓漢式。懶漢式是第一次獲取該單例對象的時候創建這個對象。餓漢式是類加載的時候就創建這個對象。如果該對象加載時間不是很長的話建議使用懶漢式,如果加載時間特別長,考慮到運行的效率,建議使用餓漢式。

主站蜘蛛池模板: 97视频免费看| www亚洲精品| 91娇喘视频| 欧美一级黄色影院| 亚洲美女操| 久久青草视频| 激情成人综合网| 日韩高清中文字幕| 国产三级成人| 天堂网亚洲综合在线| 欧美成人h精品网站| 91精品啪在线观看国产91| 日韩福利视频导航| 欧美国产日产一区二区| 日韩精品一区二区三区视频免费看| 欧美a在线看| 伊人成人在线| 成人永久免费A∨一级在线播放| 国产精品自在在线午夜| 久久天天躁狠狠躁夜夜躁| 69精品在线观看| 精品无码日韩国产不卡av| 国外欧美一区另类中文字幕| 午夜性刺激在线观看免费| 在线日韩日本国产亚洲| 国内精品自在自线视频香蕉| 在线精品亚洲国产| 天天综合网色| 男女性色大片免费网站| 人妻丰满熟妇啪啪| 成人福利在线免费观看| 欧美日韩在线亚洲国产人| 亚洲国产天堂在线观看| 国产18页| 激情爆乳一区二区| 亚洲高清无码久久久| 欧美日韩亚洲国产| 欧美性色综合网| 扒开粉嫩的小缝隙喷白浆视频| 亚洲欧洲日产国产无码AV| 国产激情无码一区二区三区免费| 欧美成人区| 99久久精品国产综合婷婷| 2018日日摸夜夜添狠狠躁| 1024你懂的国产精品| 日本久久久久久免费网络| 91美女视频在线| 欧美日韩福利| 国产欧美又粗又猛又爽老| 99国产在线视频| 中文字幕久久亚洲一区| av在线人妻熟妇| 欧美精品亚洲日韩a| 久久久久久尹人网香蕉| 女人18毛片久久| 国产女人18水真多毛片18精品 | 亚洲一级毛片免费观看| 国产永久在线视频| 天堂中文在线资源| 亚洲国产精品成人久久综合影院| 欧洲日本亚洲中文字幕| 午夜免费视频网站| 国产网站免费| 久久婷婷人人澡人人爱91| 久久久久国产精品嫩草影院| 2020精品极品国产色在线观看 | 国产成a人片在线播放| 色妺妺在线视频喷水| 亚洲综合极品香蕉久久网| 日韩无码白| 激情午夜婷婷| 久久永久精品免费视频| 免费毛片视频| 国产成人亚洲精品无码电影| 亚洲精品国产乱码不卡| 狠狠色丁香婷婷综合| 亚洲日本韩在线观看| 亚洲欧美国产五月天综合| 香蕉久人久人青草青草| 欧美亚洲国产精品第一页| 日韩一区二区在线电影| 国产精品自在线拍国产电影 |