亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

設計模式簡介

2019-11-14 09:57:18
字體:
來源:轉載
供稿:網友

引入設計模式的目的:增強系統的可維護性。

設計模式一般不能提高軟件的功能和性能。

 

設計模式(Design Patterns):從建筑領域而來,是對軟件設計中普遍存在而又反復出現的各種問題,所提出的解決方案。

設計模式并不直接用來完成程序代碼的編寫,而是描述在各種不同的情況下,要如何解決問題的一種方案。

四人組針對創建優秀的面向對象設計提出的建議

1、針對接口進行設計;

2、優先使用對象組合,而不是類繼承;

3、找到并封裝變化點。

 

設計模式可以讓我們:

1、復用解決方案。利用已有的模式開發,可以借鑒他人的經驗,減少開發成本和風險。

2、建立通用術語。在項目的分析和設計階段,模式提供了約定俗成的詞匯和視角,有利于溝通。

3、解放視角。無論針對問題還是設計,設計模式提供了高層次的視角,開發人員不必一開始就埋頭于具體的細節之中。

面相對象:

可維護 改

可復用 替換下來的字仍然有用

可擴展 可加字

靈活性好 可豎排

 

通過封裝、繼承、多態把程序的耦合度降低。

用設計模式使得程序更加靈活,容易修改,并且易于復用。

編程原則之一:盡可能避免重復。

 

UML中的集中關系: 

依賴關系(Dependency):

類方法的形參或返回值為其他類的對象。

如,新陳代謝(in o2:氧氣,in water:水)。

虛線箭頭

 

關聯關系(Association):

一個類“知道”另一個類。

如,penguin知道climate。

實線箭頭

 

聚合關系(Aggregation):

表示一種弱的“擁有”關系,體現的是A對象可以包含B對象,但B對象不是A對象的一部分。

如,雁群擁有大雁。

空心菱形 +實線箭頭

 

合成關系(Composition):

是一種強的“擁有”關系,體現了嚴格的部分和整體的關系,部分和整體的生命周期一致。

如,大雁擁有翅膀。

實心菱形 +實線箭頭

設計模式遵循的幾個原則:單一職責原則:

就一個類而言,應該僅有一個引起它變化的原因。

如果能夠想到多于一個的動機去改變一個類,那么這個類就具有多于一個的職責。

軟件設計真正要做的許多內容,就是發現職責并把那些職責相互分離。

 

開放封閉原則:

軟件實體(類、模塊、函數等等)可以擴展,但是不可修改

對于擴展開放(open for extension)

對于更改封閉(closed for modification)

怎樣的設計才能面對需求的改變卻可以保持相對穩定,從而使得系統可以在第一個版本以后不斷推出新的版本呢?

無論模塊多么的“封閉”,都會存在一些無法對之封閉的變化。

既然不可能完全封閉,設計人員必須對于他設計的模塊應該對那種變化封閉做出選擇。

他必須先猜測出最有可能發生的變化種類,然后構造抽象來隔離那些變化。

 

等到變化發生時立即采取行動。

在最初編寫代碼時,假設變化不會發生。當變化發生時,就創建抽象來隔離以后發生的同類變化。

 

面對需求,對程序的改動是通過增加新代碼進行的,而不是更改現有的代碼。

 

希望的是在開發工作展開不久就知道可能發生的變化。

查明可能發生的變化所等待的時間越長,要創建的抽象就越困難。

 

開放封閉原則是面向對象設計的核心所在。

遵循這個原則可以帶來面向對象技術所聲稱的巨大好處,也就是可維護、可擴展、可復用、靈活性好。

開發人員應該僅對程序中呈現出頻繁變化的那些部分做出抽象。

然而,對于應用程序的每個部分都刻意地進行抽象同樣不是一個好主意。

拒絕不成熟的抽象和抽象本身一樣重要。

 

里氏代換原則:

子類型必須能夠替換掉它們的父類型。

即一個軟件實體如果使用的是一個父類的話,那么一定適用于其子類,而且它覺察不出父類對象和子類對象的區別。也就是說,在軟件里面,把父類都替換成它的子類,程序行為沒有變化。

只有當子類可以替換掉父類,軟件單位的功能不受到影響時,父類才能真正被復用,而子類也能夠在父類的基礎上增加新的行為。

正是由于子類型的可替換性才使得使用父類類型的模塊在無需修改的情況下就可以擴展。

 

依賴倒轉原則:

A 高層模塊不應該依賴底層模塊。兩個都應該依賴抽象。

B 抽象不應該依賴細節。細節應該依賴抽象。

針對接口編程,不要對實現編程。

 

依賴倒轉其實可以說是面向對象設計的標志,用那種語言來編寫程序不重要,如果編寫時考慮的都是如何針對抽象編程而不是針對細節編程,即程序中所有的依賴關系都是終止于抽象類或者接口,那就是面向對象的設計,反之那就是過程化設計了。

迪米特法則:

最少知識原則:

如果兩個類不必彼此直接通信,那么這兩個類就不應當發生直接的相互作用。

如果其中一個類需要調用另一個類的某一個方法的話,可以通過第三者轉發這個調用。

 

迪米特法則首先強調的前提是:在類的結構設計上,每一個類都應當盡量降低成員的訪問權限。

迪米特法則其根本思想,是強調了類之間的松耦合。

類之間的耦合越弱,越有利于復用,一個處在弱耦合的類被修改,不會對有關系的類造成波及。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91超碰caoporn97人人| 国产精品久久不能| 精品国内亚洲在观看18黄| 精品自在线视频| 亚洲www永久成人夜色| 91欧美视频网站| 国产精品亚洲美女av网站| 国产狼人综合免费视频| 久久久久久久电影一区| 久久99热这里只有精品国产| 国产日韩在线精品av| 国产女人精品视频| 国产精品久久久久久久av大片| 欧美自拍视频在线| 亚洲天堂男人天堂女人天堂| 亚洲色图激情小说| 亚洲精品福利在线| 成人信息集中地欧美| 国产精品久久视频| 国产精品视频区1| 亚洲欧美中文日韩v在线观看| 亚洲石原莉奈一区二区在线观看| 最近2019年好看中文字幕视频| 欧美最猛性xxxxx亚洲精品| 91最新国产视频| 中文字幕成人精品久久不卡| 欧美成人免费全部| 国产精品网红福利| 国产伊人精品在线| 66m—66摸成人免费视频| 91中文字幕一区| 日韩女优人人人人射在线视频| 国产精品白嫩美女在线观看| 欧美乱人伦中文字幕在线| 国产精品偷伦视频免费观看国产| 日产日韩在线亚洲欧美| xxav国产精品美女主播| 欧美极品少妇xxxxⅹ喷水| 国产日韩精品入口| 一区国产精品视频| 日韩精品久久久久久久玫瑰园| 91亚洲一区精品| 亚洲免费小视频| 欧美一级免费看| 色噜噜狠狠狠综合曰曰曰| 亚洲天天在线日亚洲洲精| 欧美成年人在线观看| 欧美国产日韩二区| 国产精品69久久久久| 人人澡人人澡人人看欧美| 中国人与牲禽动交精品| 亚洲精品电影久久久| 久精品免费视频| 国产午夜精品视频| 久久久精品999| 国产成人精品免费久久久久| 国产亚洲欧洲在线| 97人人模人人爽人人喊中文字| 欧美成人亚洲成人| 国产免费观看久久黄| 中文字幕最新精品| 亚洲欧洲日本专区| 亚洲国产欧美一区二区丝袜黑人| 日韩色av导航| 最新中文字幕亚洲| 日韩精品免费在线播放| 91探花福利精品国产自产在线| 亚洲精品视频二区| 国产成人精品一区二区三区| 国产欧美日韩免费看aⅴ视频| 日韩**中文字幕毛片| 日本精品一区二区三区在线播放视频| 尤物yw午夜国产精品视频| 久久视频在线视频| 成人激情综合网| 正在播放欧美视频| 欧美亚洲另类激情另类| 大桥未久av一区二区三区| 国产在线视频欧美| 亚洲精品中文字| 日韩一区二区久久久| 亚洲黄色免费三级| 国产精品白丝av嫩草影院| 欧美精品videos性欧美| 中文字幕日韩欧美在线| 欧美日韩视频免费播放| 亚洲精品福利视频| 国产精自产拍久久久久久蜜| 久久中文字幕在线视频| 国产999在线| 亚洲裸体xxxx| 欧美国产一区二区三区| 亚洲精品福利在线| 成人免费在线视频网站| 亚洲黄色av女优在线观看| 亚洲网站在线看| 亚洲成人激情小说| 国产视频精品xxxx| 成人在线视频网| 国产亚洲视频中文字幕视频| 亚洲美女av电影| 亚洲自拍偷拍色图| 亚洲第一视频网| 国产亚洲激情在线| 91精品视频专区| 国产一区二区三区视频免费| 亚洲自拍小视频免费观看| 久久免费成人精品视频| 国产精品∨欧美精品v日韩精品| 久久精品国产欧美亚洲人人爽| 午夜精品一区二区三区在线| 狠狠色噜噜狠狠狠狠97| 亚洲成人久久一区| 亚洲第一天堂无码专区| 精品国产拍在线观看| 亚洲天堂一区二区三区| 日韩中文字幕视频在线| 欧美极品在线视频| 精品久久久久久久久久久久久久| 97在线免费视频| 亚洲国产精品嫩草影院久久| 青草青草久热精品视频在线观看| 久久色免费在线视频| 成人妇女淫片aaaa视频| 国产精品都在这里| 欧美黄色成人网| 亚洲欧美另类在线观看| 欧美高清视频免费观看| 在线播放日韩av| 欧美国产日韩xxxxx| 精品久久久久久中文字幕| 国产午夜一区二区| 精品视频—区二区三区免费| 一区二区三区四区精品| 中文字幕欧美精品在线| 亚洲欧美国产制服动漫| 欧美日韩高清区| 久久精品一偷一偷国产| 国产精品视频99| 国内成人精品一区| 亚洲一区二区三区四区视频| 4438全国亚洲精品在线观看视频| 日韩视频免费中文字幕| 久久久亚洲天堂| 欧美日韩在线视频首页| 精品成人国产在线观看男人呻吟| 国内精品模特av私拍在线观看| 久久久www成人免费精品张筱雨| 亚洲夜晚福利在线观看| 亚洲视频一区二区| 日韩亚洲第一页| 热99在线视频| 久热精品视频在线观看| 日韩中文字幕网| 69av在线视频| 日韩va亚洲va欧洲va国产| 亚州av一区二区| 91精品啪在线观看麻豆免费| 亚洲国产欧美在线成人app| 欧美午夜视频一区二区| 日韩免费在线免费观看| 51精品国产黑色丝袜高跟鞋| 精品国产精品三级精品av网址| 国产成人一区二区在线|