国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

外網(wǎng)怎么進(jìn)入排名優(yōu)化軟件

外網(wǎng)怎么進(jìn)入,排名優(yōu)化軟件,如何用框架做網(wǎng)站,閘北區(qū)網(wǎng)站制作目錄 二十三、設(shè)計(jì)模式之組合模式能幫我們干什么?主要解決什么問(wèn)題?優(yōu)缺點(diǎn)優(yōu)點(diǎn)缺點(diǎn): 使用的場(chǎng)景理解實(shí)現(xiàn)角色組合模式 總結(jié) 魔戰(zhàn)已經(jīng)完結(jié)。成功登頂。占領(lǐng)敵軍最高峰。 二十三、設(shè)計(jì)模式之組合模式 “組合模式”也被稱為“部分整體模式”該…

目錄

  • 二十三、設(shè)計(jì)模式之組合模式
    • 能幫我們干什么?
      • 主要解決什么問(wèn)題?
      • 優(yōu)缺點(diǎn)
        • 優(yōu)點(diǎn)
        • 缺點(diǎn):
    • 使用的場(chǎng)景
    • 理解
    • 實(shí)現(xiàn)
      • 角色
      • 組合模式
    • 總結(jié)

在這里插入圖片描述

魔戰(zhàn)已經(jīng)完結(jié)。成功登頂。占領(lǐng)敵軍最高峰。

二十三、設(shè)計(jì)模式之組合模式

“組合模式”也被稱為“部分整體模式”該模式屬于結(jié)構(gòu)型模式的一種。
將對(duì)象組合成樹形結(jié)構(gòu)以表示"部分-整體"的層次結(jié)構(gòu)。組合模式使得用戶對(duì)單個(gè)對(duì)象和組合對(duì)象的使用具有一致性。

所屬類型定義
結(jié)構(gòu)型將對(duì)象組合成樹形結(jié)構(gòu)以表示“部分整體”的層次結(jié)構(gòu)。組合模式使得用戶對(duì)單個(gè)對(duì)象和組合對(duì)象的使用具有一致性。

能幫我們干什么?

主要解決什么問(wèn)題?

主要解決的是 它在我們樹型結(jié)構(gòu)的問(wèn)題中,模糊了簡(jiǎn)單元素和復(fù)雜元素的概念,客戶程序可以像處理簡(jiǎn)單元素一樣來(lái)處理復(fù)雜元素,從而使得客戶程序與復(fù)雜元素的內(nèi)部結(jié)構(gòu)解耦。

優(yōu)缺點(diǎn)

優(yōu)點(diǎn)

1、高層模塊調(diào)用簡(jiǎn)單。
2、節(jié)點(diǎn)自由增加。

缺點(diǎn):

在使用組合模式時(shí),其葉子和樹枝的聲明都是實(shí)現(xiàn)類,而不是接口,違反了依賴倒置原則。


使用的場(chǎng)景

以下情況下適用Composite模式:
1.你想表示對(duì)象的部分-整體層次結(jié)構(gòu)
2.你希望用戶忽略組合對(duì)象與單個(gè)對(duì)象的不同,用戶將統(tǒng)一地使用組合結(jié)構(gòu)中的所有對(duì)象。
部分、整體場(chǎng)景,如樹形菜單,文件、文件夾的管理。

理解

講解該模式之前先帶大家熟悉一下“樹形結(jié)構(gòu)”。相信大家對(duì)“樹形結(jié)構(gòu)”不會(huì)太陌生,如果你剛好不太了解的話可以想一下大樹,一顆樹它分別有樹根、樹枝、樹葉,正好樹形結(jié)構(gòu)中也有根節(jié)點(diǎn)、子節(jié)點(diǎn)(非葉子節(jié)點(diǎn))、葉子節(jié)點(diǎn)。
在這里插入圖片描述

組合模式就運(yùn)用了樹形結(jié)構(gòu),該模式的核心思想是:將多個(gè)對(duì)象組合成樹形結(jié)構(gòu),以此結(jié)構(gòu)來(lái)表示“整體-部分”之間的層次關(guān)系。

實(shí)現(xiàn)

在這里插入圖片描述

角色

  1. Component:組合模式中的“根節(jié)點(diǎn)”,可以是接口、抽象類、普通類,該類中定義了其子類的所有共性內(nèi)容,并且該類中還存在著用于訪問(wèn)和管理它子部件的方法。
  2. Leaf:組合中的葉子節(jié)點(diǎn),也就是最末端的節(jié)點(diǎn),該節(jié)點(diǎn)下不會(huì)再有子節(jié)點(diǎn)。
  3. Composite:非葉子節(jié)點(diǎn),它的作用是存儲(chǔ)子部件,并且在Composite中實(shí)現(xiàn)了對(duì)子部件的相關(guān)操作。

組合模式

如何解決:樹枝和葉子實(shí)現(xiàn)統(tǒng)一接口,樹枝內(nèi)部組合該接口。

關(guān)鍵代碼:樹枝內(nèi)部組合該接口,并且含有內(nèi)部屬性 List,里面放 Component。

實(shí)現(xiàn)難度: ?? ?? ?? ??

舉例:
java/com/kongxiang/raindrop/dp/type/structure/composite · master · 無(wú)難事者若執(zhí) / 23種設(shè)計(jì)模式 · GitCode
葉節(jié)點(diǎn)和組合節(jié)點(diǎn)。

component

public abstract class Component {protected  String name;public Component(String name){this.name = name;}public abstract void draw();public abstract void add(Component component);public abstract void remove(Component component);}

leaf

public class Leaf extends Component {public Leaf(String name) {super(name);}@Overridepublic void draw() {System.out.println(this.name);}@Overridepublic void add(Component component) {throw new IllegalArgumentException("葉節(jié)點(diǎn)不能添加組件");}@Overridepublic void remove(Component component) {throw new IllegalArgumentException("葉節(jié)點(diǎn)不能移除組件");}
}

composite

public class Composite extends Component {private List<Component> componentList = new ArrayList<>();public Composite(String name) {super(name);}@Overridepublic void draw() {for (Component com :componentList) {com.draw();}}@Overridepublic void add(Component component) {this.componentList.add(component);}@Overridepublic void remove(Component component) {this.componentList.remove(component);}
}

client

     public static void main(String[] args) {Leaf leaf = new Leaf("張三”");Leaf leaf1 = new Leaf("張4”");Leaf leaf2 = new Leaf("張5”");Leaf leaf3 = new Leaf("張6”");Leaf leaf4 = new Leaf("張7”");Composite composite = new Composite("組1");composite.add(leaf);composite.add(leaf1);Composite composite2 = new Composite("組2");composite2.add(leaf2);composite2.add(leaf3);Composite composite3 = new Composite("組3");composite3.add(leaf4);composite.add(composite2);composite2.add(composite3);composite.draw();}

總結(jié)

組合模式解耦了客戶程序與復(fù)雜元素內(nèi)部結(jié)構(gòu),從而使客戶程序可以像處理簡(jiǎn)單元素一樣來(lái)處理復(fù)雜元素。
如果你想要?jiǎng)?chuàng)建層次結(jié)構(gòu),并可以在其中以相同的方式對(duì)待所有元素,那么組合模式就是最理想的選擇。本章使用了一個(gè)文件系統(tǒng)的例子來(lái)舉例說(shuō)明了組合模式的用途。在這個(gè)例子中,文件和目錄都執(zhí)行相同的接口,這是組合模式的關(guān)鍵。通過(guò)執(zhí)行相同的接口,你就可以用相同的方式對(duì)待文件和目錄,從而實(shí)現(xiàn)將文件或者目錄儲(chǔ)存為目錄的子級(jí)元素。

http://aloenet.com.cn/news/29009.html

相關(guān)文章:

  • 可信網(wǎng)站認(rèn)證申請(qǐng)360指數(shù)在線查詢
  • 上海市建設(shè)小學(xué)網(wǎng)站網(wǎng)絡(luò)推廣應(yīng)該怎么做啊
  • wordpress標(biāo)簽庫(kù) 導(dǎo)入熱狗seo外包
  • 哪種語(yǔ)言做的網(wǎng)站好索引擎優(yōu)化 seo
  • 墨子學(xué)院網(wǎng)站建設(shè)vip課程拼多多seo是什么意思
  • 寧波做網(wǎng)站設(shè)計(jì)電話銷售如何快速吸引客戶
  • 銳奇智能手機(jī)網(wǎng)站建設(shè)seo學(xué)徒
  • wordpress設(shè)置文章期限百度seo優(yōu)化關(guān)鍵詞
  • 香港公司網(wǎng)站可以備案嗎關(guān)鍵詞優(yōu)化好
  • 全民建站seo優(yōu)化網(wǎng)頁(yè)
  • 誠(chéng)信通網(wǎng)站怎么做外鏈愛(ài)上鏈外鏈購(gòu)買交易
  • 織夢(mèng) 去掉我的網(wǎng)站培訓(xùn)總結(jié)
  • 免費(fèi)企業(yè)網(wǎng)站注冊(cè)廣告優(yōu)化師培訓(xùn)
  • 成都網(wǎng)站建設(shè)公司招聘競(jìng)價(jià)排名服務(wù)
  • 對(duì)門戶網(wǎng)站建設(shè)的見(jiàn)解查詢網(wǎng) 域名查詢
  • 做網(wǎng)站的硬件和軟件環(huán)境2022磁力鏈接搜索引擎推薦
  • 門戶網(wǎng)站建設(shè)投標(biāo)書濟(jì)南新聞?lì)^條最新事件
  • 建設(shè)個(gè)人網(wǎng)站梅州seo
  • 海南做網(wǎng)站的google chrome
  • 如何使用模板做網(wǎng)站公司網(wǎng)站如何建設(shè)
  • 南京做網(wǎng)站哪家好網(wǎng)站關(guān)鍵詞快速排名服務(wù)
  • 網(wǎng)站怎么裝模版沒(méi)干過(guò)網(wǎng)絡(luò)推廣能干嗎
  • 東莞建域名網(wǎng)站專業(yè)制作網(wǎng)站的公司哪家好
  • 品牌網(wǎng)站建設(shè)解決網(wǎng)址大全下載到桌面
  • 建設(shè)銀行網(wǎng)站預(yù)約取款長(zhǎng)春網(wǎng)站建設(shè)方案咨詢
  • 網(wǎng)站的圖片水印怎么做百度資源提交
  • 免費(fèi)小程序開發(fā)平臺(tái)天津seo優(yōu)化公司哪家好
  • 建站網(wǎng)址平臺(tái)寧波seo快速優(yōu)化平臺(tái)
  • 淄博手機(jī)網(wǎng)站建設(shè)推廣優(yōu)化網(wǎng)站
  • 電白區(qū)建設(shè)局網(wǎng)站怎么做電商生意