日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

javascript 設計模式之組合模式原理與應用詳解

瀏覽:176日期:2023-11-05 15:33:15

本文實例講述了javascript 設計模式之組合模式原理與應用。分享給大家供大家參考,具體如下:

組合模式說明

組合模式用于簡單化,一致化對單組件和復合組件的使用;其實它就是一棵樹;

這棵樹有且只有一個根,訪問入口,如果它不是一棵空樹,那么由一個或幾個樹枝節點以及子葉節點組成,每個樹枝節點還包含自己的子樹枝以及子葉節點;

在面向對象編程中,葉子以及復雜對象(樹枝節點)都繼承一個接口或抽象類分別實現;

這個抽象定義一般三個部分組成,組件的基本信息,Add方法,Remove方法;

葉子節點只包含本身的數據,Add, Remove 基本為空操作;

樹枝節點實現組件時,一般包含一個數組定義,用于存儲子葉或樹枝節點,還包括一個獲取所有子節點的方法: 如GetList;

實例場景:

1>. 自然界中的各種樹,樹長在大地人,樹頭(樹根),即是入口點,這棵樹頭向上生長,即有自己的葉子,又有自己的子樹枝,某樹枝還有自己的葉子,跟子樹枝;

2>. 操作系統目錄結構、公司部門組織架構、國家省市縣、宇宙萬物都有單獨元物質以及物物包含的現象,像這么看起來復雜的現象,都可以使用組合模式,即部分-整體模式來操作;

一棵樹:

javascript 設計模式之組合模式原理與應用詳解

組合模式結構圖:

javascript 設計模式之組合模式原理與應用詳解

實例源碼

1. Component 組件;

function Component() { this.name = ’’;}Component.prototype = { Add: function(comp) { //rewrite }, Remove: function(name) { //rewrite }, set: function(name) { this.name = name; }, operate: function() { //... }}var comp = new Component();

2. Leaf 葉子節點;

function Leaf() { }Leaf.prototype = Object.create(comp, {});Leaf.prototype.get = function() { return this.name;}

3. 樹枝節點:

function Composite() { this.list = [];}Composite.prototype = Object.create(comp, {});Composite.prototype = { Add: function(comp) { this.list.push(comp); }, Remove: function(name) { for (i in this.list) { var cmp = this.list[i]; if (cmp.name == name) {delete this.list[i];break; } } }, operate: function() { //do... }, getList: function(name) { var cmp; for (i in this.list) { cmp = this.list[i]; if (cmp.name == name) {break; } } return cmp; }}

葉子節點基本可以直接使用 Component 的結構,或是直接以 Component 來創建,Composite 樹枝節點,就必須重寫 Add , Remove, operate 等方法;

使用方法:

var root = new Composite();root.set('root');//葉子var leaf = new Leaf();leaf.set(’頂級葉子’);root.Add(leaf);//樹枝節點;var child = new Composite();child.set(’child’);var childschild = new Composite();childschild.set(’cchild’);child.Add(childschild);root.Add(child);root.operate();其他說明

組合模式,是一種結構型的設計模式,主要用于一致化處理簡單元素和復雜元素操作,使得客戶端使用可以與復合結構復雜的情況相解藕;客戶端使用時,搜索遞歸到需要的節點或位置,都可以使用統一方法,不管是葉子節點或是樹枝節點進行一致操作;在面向對象動態語言里,其實Javascript 也差不多,就可以無需知道元素結構,進行查詢,添加,刪除的操作;

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩精品视频一区二区三区| 日韩av网站在线免费观看| 精品一区91| 激情五月色综合国产精品| 亚洲精品系列| 成人小电影网站| 亚洲免费成人av在线| 卡一精品卡二卡三网站乱码| 亚洲色诱最新| 97视频热人人精品免费| 亚洲影视一区二区三区| 欧美日韩精品一区二区视频| 精品一区二区三区视频在线播放| 免费在线观看一区二区三区| 日韩免费小视频| 7m精品国产导航在线| 激情91久久| 欧美精品一区二区三区精品| 91青青国产在线观看精品| 国产精品久久久久久久久免费高清 | 欧美日韩国产欧| 日韩在线短视频| 精品亚洲美女网站| 免费在线欧美黄色| 国产精品对白久久久久粗| 日韩一区二区三区精品视频第3页| 久久国产精品毛片| 在线精品福利| 日韩手机在线| 欧美天堂一区| 青青草视频一区| 国产精品久久乐| 四季av一区二区凹凸精品| 捆绑调教日本一区二区三区| 精品国产乱码久久久| 成人片免费看| 夜久久久久久| 欧美伊人影院| 国产日产高清欧美一区二区三区 | 日韩高清在线一区| 鲁大师精品99久久久| 国产成人精选| 99成人超碰| 日韩综合小视频| 精品国产三区在线| 日韩一区二区久久| 国产欧美日韩一区二区三区在线| 国产精品调教视频| 久久国产亚洲| 亚洲涩涩av| 免费一级欧美片在线观看网站| 日韩理论片av| 日韩精品午夜视频| 一区二区三区网站| 久久国产成人午夜av影院宅| 蜜臀久久99精品久久久久久9| 日韩高清不卡| 91欧美在线| 欧美成人基地 | 黑丝一区二区| 欧美日韩中文一区二区| 日韩精品欧美精品| 亚洲手机在线| 精品一区视频| 日本亚州欧洲精品不卡| 亚洲伦乱视频| 国产精品多人| 亚洲精品免费观看| 免费在线日韩av| 亚洲深夜视频| 日韩精品1区| 久久高清免费| 伊人久久成人| 久久福利一区| 免费视频一区二区| 99国产精品视频免费观看一公开| 亚洲视频综合| 日韩激情一二三区| 日韩一区免费| 麻豆视频一区二区| 国产成年精品| 国产乱码精品一区二区三区四区| 一二三区精品| 国产精久久久| 婷婷国产精品| 日本a级不卡| 99在线观看免费视频精品观看| 亚洲少妇一区| 蜜臀精品久久久久久蜜臀 | 欧美一级二级三级视频| 日本一区二区三区视频在线看| 蜜桃tv一区二区三区| 国产精品久久久久77777丨| 高清久久一区| 久久精品999| 日韩高清中文字幕一区二区| 亚洲精品91| 老司机精品视频在线播放| 中文字幕系列一区| 免费不卡在线观看| a国产在线视频| 亚洲一区观看| 欧美日韩免费看片| 国产精品18| 国产精品分类| а√天堂中文在线资源8| 成人在线免费观看网站| 日韩精品永久网址| 久久精品电影| 青草av.久久免费一区| 国产99久久| 日韩中文字幕一区二区高清99| 国产欧美大片| 日韩一区免费| 精品欠久久久中文字幕加勒比| 91精品电影| 久久精品女人| 亚洲黄页一区| 国产欧美大片| 石原莉奈在线亚洲三区| 久久夜色精品| 日韩av资源网| 麻豆一区二区三| av综合电影网站| 免费人成精品欧美精品| 久久精品电影| 午夜在线一区二区| 亚洲伊人影院| 国产一区清纯| 中文字幕在线视频网站| 国产不卡精品| 欧美成人精品三级网站| 1000部精品久久久久久久久| 欧美综合另类| 日韩一区二区三区精品 | 亚洲精品综合| 日韩一区二区免费看| 国产综合亚洲精品一区二| 国产超碰精品| 久久久久中文| 欧美国产91| 影音先锋久久| 日韩精品社区| 日韩电影在线视频| 久久国产精品美女| 吉吉日韩欧美| 精品国产a一区二区三区v免费| 日韩综合一区二区| 高清一区二区| 国产精品www.| 天堂va欧美ⅴa亚洲va一国产| 91精品综合| 亚洲影院天堂中文av色| 欧美激情福利| 欧美影院精品| 日韩高清不卡在线| 日韩一区二区三区在线看| 久久久久免费| 精品黄色一级片| 亚洲电影在线| 亚洲在线久久| 久久精品国产精品亚洲毛片| 97精品在线| 9久re热视频在线精品| 国产色99精品9i| 久久久噜噜噜| 国产乱码精品一区二区亚洲| 日韩成人精品一区二区| 在线亚洲激情| 国产精品最新自拍| 免费精品国产的网站免费观看| 一本综合精品| 久久久久97| 水蜜桃久久夜色精品一区的特点 | 免费视频一区二区| 免费日韩av片| 亚洲香蕉久久| re久久精品视频| 在线看片不卡| 亚洲91网站| 91偷拍一区二区三区精品| 日本韩国欧美超级黄在线观看| 国产视频一区三区| 最新亚洲激情| 伊人网在线播放| 高清不卡亚洲| 美女少妇全过程你懂的久久| 日本成人精品| 国产一卡不卡| 免费av一区| 国产一区一一区高清不卡| 模特精品在线| 免费久久99精品国产自在现线| 午夜av一区| 久久精品亚洲人成影院 | 国产不卡精品| 国产精品毛片一区二区在线看| 麻豆91精品91久久久的内涵| 亚洲欧美日韩专区| 黄色亚洲精品|