黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

grasp設(shè)計(jì)模式筆記回顧

系統(tǒng) 1915 0

根據(jù)講師所講做了一下筆記以便自己能方便學(xué)習(xí):

------------------------------------------grasp設(shè)計(jì)模式;

grasp(general responsibility assignment software patterns:通用職責(zé)分配軟件模式)模式相對(duì)于gof23模式更加抽象,

它的核心思想:職責(zé)如何分配和如何用用職責(zé)設(shè)計(jì)對(duì)象;

它的五個(gè)基本模式:

---信息專家、創(chuàng)建者、高內(nèi)聚、低耦合、控制器;

四個(gè)擴(kuò)展模式;

---多態(tài)性、純虛構(gòu)、間接性、防止變異;

---------------------------------------------

---------------------信息專家:

職責(zé)分配給那個(gè)對(duì)象,要看這個(gè)職責(zé)所需要的信息是哪個(gè)對(duì)象所擁有的,擁有資源的對(duì)象

才有資格執(zhí)行職責(zé),這也體現(xiàn)了對(duì)象封裝的概念。信息的擁有者,同時(shí)就是對(duì)象的操作者,

可以減少不必要的類之間的關(guān)聯(lián),體現(xiàn)了設(shè)計(jì)原則:類的單一職責(zé)。

---------------------創(chuàng)建者:

類的實(shí)例應(yīng)該有誰(shuí)來(lái)創(chuàng)建;創(chuàng)建的職責(zé)應(yīng)該交給誰(shuí);

b_=>a:包含,聚集、記錄、頻繁使用、有出事化數(shù)據(jù);

優(yōu)點(diǎn):整個(gè)結(jié)構(gòu)很清晰,有利于類或組件的使用,防止職責(zé)分散(信息專家),降低耦合度;

---------------------高內(nèi)聚:

解決一個(gè)怎樣才能降低類的復(fù)雜度,簡(jiǎn)化控制,

我們贏將緊密相關(guān)的功能或職責(zé)分配給同一個(gè)類(各司其職)

優(yōu)點(diǎn):聚集相關(guān)的功能結(jié)構(gòu)清晰,容易理解。

類的單一,使得簡(jiǎn)化。

-----------------------低耦合:

如何降低類之間的關(guān)聯(lián)程度,能適應(yīng)需求變化;

為類分配職責(zé)時(shí),應(yīng)該盡量降低類之間的關(guān)聯(lián)關(guān)系;

使得系統(tǒng)中某一部分的變化對(duì)其他部分影響降低到最低;

?

-----------------------控制器:

在UI之外,應(yīng)該由哪個(gè)類處理系統(tǒng)的事件呢。

把系統(tǒng)事件處理的職責(zé)分配給controller類;

好處:防止同類職責(zé)的分散,滿足高內(nèi)聚,低耦合原則,變化的高度適應(yīng)能力;

-----------------------多態(tài)性:

?如何創(chuàng)建可插拔的軟件構(gòu)件。

當(dāng)相關(guān)選擇或行為歲類型有所不同時(shí),使用多態(tài)操作作為變化的行為類型分配職責(zé)。

-----------------------純虛構(gòu):

有時(shí)候不想違背高內(nèi)聚低耦合的目標(biāo),但信息專家模式提供的解決方案又不合適時(shí)。

solution:對(duì)人為制造的類分配一組高內(nèi)聚的職責(zé),該類并不代表問(wèn)題領(lǐng)域的概念-

虛構(gòu)的事物,用以支持高內(nèi)聚,低耦合和復(fù)用。

個(gè)人理解:為了達(dá)到更好的設(shè)計(jì)而虛構(gòu)出來(lái)的對(duì)象來(lái)去行使某些不好分配的職責(zé)。

比如gof中命令模式,我們虛構(gòu)出一個(gè)類來(lái)存儲(chǔ)命令,以實(shí)現(xiàn)排隊(duì)功能。

gof設(shè)計(jì)模式全都是純虛構(gòu)。為了更好的解決問(wèn)題虛構(gòu)出來(lái)的類;

?

------------------------間接性:

比如終結(jié)者、adapter適配器,都起到了簡(jiǎn)介的效果

?

------------------------防止變異:

為了不讓對(duì)象內(nèi)部的變化或不穩(wěn)定性不會(huì)對(duì)其他元素產(chǎn)生不良影響(實(shí)際高內(nèi)聚)

我們可以通過(guò)創(chuàng)建穩(wěn)定的接口來(lái)解決,就是所說(shuō)的針對(duì)接口編程,而不是針對(duì)實(shí)現(xiàn)編程。

?

像封裝、多態(tài)、接口、虛擬機(jī)、配置文件都是為了這個(gè),哪里動(dòng)就封裝哪里,以至于不影響其他

的相關(guān)聯(lián)的對(duì)象,同樣也是為了更好的變化和擴(kuò)展。使之更穩(wěn)健。

?

grasp設(shè)計(jì)模式筆記回顧


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論