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

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

JavaScript組合模式---引入案例分析

瀏覽:166日期:2023-10-25 15:52:56

本文實例講述了JavaScript組合模式。分享給大家供大家參考,具體如下:

首先:

使用一個例子來引入組合模式,需求為(1)有一個學校有2個班(一班,二班)(2)每個班級分2個小組(一班一組,一班二組,二班一組,二班二組)(3)學校計算機教室有限,每一個小組分著來上課

然后:根據需求我們可以簡單看出這里面涉及到 學校,班級,組,和學生總共4個類

使用程序模擬 這4個類為,

(1)學校類

var school=function (name) { this.name=name; var classes=new Array(); this.addClasses=function (cla) { classes.push(classe); } this.getClass=function () { return classes; } }

(2)班級類

//班級類 var classes=function (name) { this.name = name; var groups = new Array(); this.addGroup = function (group) { groups.push(group); return this; }; this.getGroups = function () { return groups; } };

(3)組類

//組 var group=function (name) { this.name=name; var students=new Array(); var addStudents=function (student) { students.push(student); return this; } this.geStudent=function () { return students; } };

(4)學生類

//學生類 var student=function (name) { this.name=name; this.gotoClass=function () { document.write(name+':我是學生,我要去上課 ') }; this.finishClass=function () { document.write(name+': 終于下課了'); } };

其次,測試需滿足如下為:

(1)每個班級分2個小組(一班一組,一班二組,二班一組,二班二組)(2)學校計算機教室有限,每一個小組的學生分著來上課(3)現在我們倒著寫,從學生-->組->班級-->學校

//學生實例 var astudent=new student('我是a同學'); var bstudent=new student('我是b同學'); var cstudent=new student('我是c同學'); var dstudent=new student('我是d同學'); var estudent=new student('我是e同學'); var fstudent=new student('我是f同學'); var gstudent=new student('我是g同學'); var hstudent=new student('我是h同學'); var istudent=new student('我是i同學');//班級實例(1) var class1=new classes('一班'); //組1 var oneOne=new group('一班一組'); //組中添加學生 oneOne.addStudents(astudent).addStudents(bstudent); //組2 var oneTwo=new group('一班二組'); //組中添加學生 oneTwo.addStudents(cstudent).addStudents(dstudent); class1.addGroup(oneOne).addGroup(oneTwo); //班級實例2 var class2=new classes('二班'); //組1 var towOne=new group('二班一組'); //組中添加學生 towOne.addStudents(estudent).addStudents(fstudent); //組2 var towTwo=new group('二班二組'); //組中添加學生 towTwo.addStudents(gstudent).addStudents(hstudent).addStudents(istudent); // class2.addGroup(towOne).addGroup(towTwo); //學校實例 var usSchool=new school('組合模式學校');

最后,開學了,我們準備按照要求去上課吧,

安排為:一班一組去上課 學校-->班級-->組-->學生

var classes=usSchool.getClass();//班級 for(var i=0;i<classes.length;i++){ if(classes[i].name=='一班'){ for(var j=0;j<classes[i].getGroups().length;j++){ if(classes[i].classes[i].getGroups()[j]=='一組'){ var students=classes[i].classes[i].getGroups()[j].geStudent(); for(var k=0;k<students.length;k++){ students[k].gotoClass(); } } } } }

最后,我只是想安排一個都要寫這么多的代碼,那如何是一個學校有上千個班級,那么要瘋了。

這種一定不適合業務的擴展,為此我們使用組合模式來解決上述的問題。為啥要用設計模式呢?因為設計模式有如下的一些操作方式:(1)組合模式中把對象分為兩種(組合對象,和葉子對象)(2)組合對象和葉子對象實現:同一批操作(3)對組合對象執行的操作可以向下傳遞到葉子節點進行操作(4)這樣就會弱化類與類之間的耦合(5)他常用的手法是把對象組合成屬性結構的對象

接下來介紹:JavaScript組合設模式--改進上述引入的例子

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

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

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

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
99久久精品费精品国产| 亚洲女同一区| 久久香蕉精品| 丝瓜av网站精品一区二区| 乱人伦精品视频在线观看| 自拍自偷一区二区三区| 日韩超碰人人爽人人做人人添| 日韩精品久久久久久久软件91| 综合激情在线| 97久久亚洲| 国产精品大片| 香蕉成人av| 亚洲一区二区三区免费在线观看| 综合色一区二区| 国产精品对白| 久久久久久久久久久9不雅视频| 中文精品视频| 日韩在线精品| 免费视频最近日韩| 国产精品视频一区二区三区四蜜臂 | 亚洲天堂一区二区| 亚洲激情五月| 国产欧美日韩免费观看| av高清不卡| 亚洲图片久久| 丰满少妇一区| 亚洲一区二区三区四区五区午夜| 国产亚洲字幕| 136国产福利精品导航网址| 亚洲毛片在线| 偷拍精品精品一区二区三区| 日韩一二三区在线观看| 国产中文欧美日韩在线| 亚洲一区二区动漫| 大香伊人久久精品一区二区| 免费日韩视频| 视频在线不卡免费观看| 亚洲欧美日本国产| 色88888久久久久久影院| 日韩欧美久久| 亚洲福利国产| 久久精品一本| 亚洲区欧美区| 欧美中文一区二区| 精品国产a一区二区三区v免费| 亚洲一区成人| 桃色一区二区| 日韩二区三区在线观看| 亚洲欧美日韩高清在线| 精品一区二区三区在线观看视频| 亚洲一区日本| 日韩欧美另类一区二区| 国产日韩欧美三区| 日韩中文字幕区一区有砖一区 | 日韩精品第一区| 欧美日韩一区二区三区不卡视频 | 日本成人在线视频网站| 激情综合网站| 在线手机中文字幕| 国产精品一区毛片| 亚洲丝袜美腿一区| 久久中文字幕av| 精品国产欧美| 国产亚洲人成a在线v网站| 国产精品日韩久久久| 成人久久一区| 国产精品蜜芽在线观看| 91p九色成人| 首页欧美精品中文字幕| 99久久婷婷| 天堂а√在线最新版中文在线| 国产精品视频首页| 日本中文字幕一区二区视频| 精品国产一区二区三区噜噜噜| 日本va欧美va精品发布| 亚洲天堂日韩在线| 亚洲欧洲日韩精品在线| 日韩制服丝袜av| 国产一级久久| 91超碰国产精品| 今天的高清视频免费播放成人| 日韩欧美在线中字| 精品一区二区三区的国产在线观看| 911亚洲精品| 久久精品xxxxx| 国产亚洲一区| 国产精品jk白丝蜜臀av小说| 国产乱子精品一区二区在线观看| 日本vs亚洲vs韩国一区三区二区| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲一区二区免费看| 一本一本久久| 日韩在线观看一区二区| 中文字幕日韩高清在线| 亚洲久草在线| 69堂免费精品视频在线播放| 欧美一级二区| 国产精品精品国产一区二区| 红杏一区二区三区| 日韩黄色大片网站| 蜜臀av免费一区二区三区| 亚洲无线一线二线三线区别av| аⅴ资源天堂资源库在线| 国产精品原创| 久久视频国产| 国产视频亚洲| 日本中文字幕一区二区视频| 国产色噜噜噜91在线精品| 国产欧美三级| 成人亚洲精品| 99久久久久| 老鸭窝毛片一区二区三区| 久久av一区| 欧美日本久久| 久久久一本精品| 免费在线观看精品| 国产精品久久| 极品裸体白嫩激情啪啪国产精品| 蜜桃久久精品一区二区| 国产探花一区在线观看| 国产精选在线| 日本欧美在线看| 国产精品宾馆| 136国产福利精品导航网址| 欧美综合二区| 麻豆国产精品| 国产一在线精品一区在线观看| 国产亚洲午夜| 国产美女亚洲精品7777| av资源亚洲| 蜜臀va亚洲va欧美va天堂| 国产精品久久久久久久久久齐齐| 日韩理论视频| 男女男精品视频网| 成人午夜在线| 一区在线免费| 国产精品一区二区免费福利视频| 成人国产精品一区二区网站| 国产精品日韩| 丁香婷婷久久| 中文字幕亚洲精品乱码| 国产aⅴ精品一区二区三区久久| 亚洲高清不卡| 国产精品一区三区在线观看| 欧美大黑bbbbbbbbb在线| 国产精品永久| 丝袜美腿成人在线| 日本黄色精品| 日本免费新一区视频| 欧洲一区二区三区精品| 97精品国产99久久久久久免费| 日韩av首页| 国产欧美日韩精品一区二区免费 | 欧美另类中文字幕 | 欧美日本二区| 99成人在线| 精品网站999| 亚洲无线观看| 在线日韩av| 久久不卡国产精品一区二区| 亚洲一区二区网站| 成人午夜精品| 国产精品激情| 香蕉久久一区| 欧美日韩国产探花| 成人一区不卡| 国产精品久久免费视频| 午夜精品亚洲| 日韩精品一二三| 亚洲高清av| 色综合五月天| 麻豆视频一区二区| 日本欧美大码aⅴ在线播放| 99视频精品| 香蕉久久精品| 在线天堂资源www在线污| 国产精品黄色| 欧美一区二区三区久久精品| 日韩中文字幕一区二区三区| 久久久久国产精品一区二区| 国产精品99久久免费| 日韩一区二区三区精品| 国产精品91一区二区三区| 亚洲黄色中文字幕| 精品一区二区三区中文字幕视频| 日韩中文字幕无砖| 午夜在线视频一区二区区别| 伊人久久国产| 视频在线不卡免费观看| 久久精品国产久精国产爱| 欧美一级全黄| 日本午夜精品一区二区三区电影| 久久午夜精品| 天堂成人国产精品一区| 伊人久久成人| 亚洲免费观看| 国产精品毛片一区二区三区| 精品国产第一福利网站| 成人va天堂| 久久久国产亚洲精品|