日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

grasp设计模式应用场景_grasp设计模式笔记回顾

發(fā)布時間:2024/7/23 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 grasp设计模式应用场景_grasp设计模式笔记回顾 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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

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

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

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

它的五個基本模式:

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

四個擴(kuò)展模式;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

類的單一,使得簡化。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

比如gof中命令模式,我們虛構(gòu)出一個類來存儲命令,以實現(xiàn)排隊功能。

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

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

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

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

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

我們可以通過創(chuàng)建穩(wěn)定的接口來解決,就是所說的針對接口編程,而不是針對實現(xiàn)編程。

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

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

總結(jié)

以上是生活随笔為你收集整理的grasp设计模式应用场景_grasp设计模式笔记回顾的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。