国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

怎樣用Javascript實現(xiàn)建造者模式

瀏覽:2日期:2023-10-01 18:19:54
概述

建造者模式是相對比較簡單的一種設計模式,屬于創(chuàng)建型模式的一種;

定義:將一個復雜的對象分解成多個簡單的對象來進行構建,將復雜的構建層與表現(xiàn)層分離,使相同的構建過程可以創(chuàng)建不同的表示模式;

優(yōu)點:

建造者模式的封裝性比較好,創(chuàng)建對象和構建過程解耦; 建造者模式很容易擴展,當我們需要擴展的時候,通過一個新的建造者就可以實現(xiàn);

模式作用:

分步創(chuàng)建一個復雜的對象 解耦封裝過程和具體創(chuàng)建組件 無需關心組件如何組裝

注意事項:

一定要一個穩(wěn)定的算法支持 加工工藝是暴露的,也就是說土豪可以隨時去看房子建的怎么樣了

白話解釋:

某土豪想建一個房子,某土豪只需要找包工頭,包工頭再去找施工團隊來建造房子,而不需要土豪自己去一個個的找工人搭建施工團隊開始施工;包工頭知道土豪的需求,也知道哪里能找到工人搭建施工團隊,工人可以直接干活,中間節(jié)省了土豪直接和工人溝通的成本;土豪不需要知道房子該怎么建,土豪只需要最后能驗收到房就行;

代碼實現(xiàn)

在寫代碼之前我們先分析一下:

1、產(chǎn)出的東西是房子

2、包工頭調(diào)用工人進行開工而且他要很清楚工人們具體的某一個大項

3、工人是蓋房子的工人可以建臥室建客廳建廚房

4、包工頭只是一個接口,他只對外說蓋房子,他不用做事情; 

function Fangzi(){ this.woshi = ''; this.keting = ''; this.chufang = '';}function Baogongtou(){ this.jianfangzi = function(gongren){gongren.jian_woshi();gongren.jian_keting();gongren.jian_chufang(); }}function Gongren(){ this.jian_woshi = function(){console.log('臥室建好了!'); } this.jian_keting = function(){console.log('客廳建好了!'); } this.jian_chufang = function(){console.log('廚房建好了!'); } this.wangong = function(){var fangzi = new Fangzi();fangzi.woshi = 'ok';fangzi.keting = 'ok';fangzi.chufang = 'ok';return fangzi; }}let gongren = new Gongren();let baogongtou = new Baogongtou();//臥室建好了!//客廳建好了!//廚房建好了!baogongtou.jianfangzi(gongren);var my_fangzi = gongren.wangong();/*Fangzi={ chufang: 'ok' keting: 'ok' woshi: 'ok' }*/console.log(my_fangzi);

上述代碼中我們可以看到,Gongren()里面是具體的施工過程,也就是具體做的事情,F(xiàn)angzi()里面一開始都是空的,沒有客廳、廚房、臥室;Baogongtou()里面只是對外宣傳可以建房子,然后傳入工人方法調(diào)用工人進行施工;工人方法執(zhí)行完了也就是施工完了,然后就是交房;一個新的方法里面實例化Fangzi()的方法,在新方法里面重新賦值即可;

以上就是怎樣用Javascript實現(xiàn)建造者模式的詳細內(nèi)容,更多關于Javascript建造者模式的資料請關注好吧啦網(wǎng)其它相關文章!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 澜沧| 叙永县| 洪雅县| 托克托县| 南溪县| 全州县| 枝江市| 湾仔区| 扶余县| 武城县| 龙门县| 嘉定区| 安平县| 安庆市| 徐汇区| 信丰县| 青铜峡市| 綦江县| 安陆市| 陵川县| 金沙县| 廉江市| 静海县| 安仁县| 台湾省| 达拉特旗| 兴化市| 德江县| 革吉县| 绥宁县| 五华县| 西林县| 肃南| 宁蒗| 夏河县| 荣昌县| 兴安盟| 会东县| 丹东市| 迁西县| 淄博市|