中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

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

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

目錄

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

在這里插入圖片描述

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

二十三、設計模式之組合模式

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

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

能幫我們干什么?

主要解決什么問題?

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

優(yōu)缺點

優(yōu)點

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

缺點:

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


使用的場景

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

理解

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

組合模式就運用了樹形結構,該模式的核心思想是:將多個對象組合成樹形結構,以此結構來表示“整體-部分”之間的層次關系。

實現(xiàn)

在這里插入圖片描述

角色

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

組合模式

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

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

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

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

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é)點不能添加組件");}@Overridepublic void remove(Component component) {throw new IllegalArgumentException("葉節(jié)點不能移除組件");}
}

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();}

總結

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

http://www.risenshineclean.com/news/29009.html

相關文章:

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