摘要:在模塊代碼底部,它會很容易指出哪些函數(shù)和變量可以被公開訪問,從而改善可讀性。這是因?yàn)樗接泻瘮?shù)將繼續(xù)引用私有實(shí)現(xiàn),該模式不適用與公有成員,只適用于函數(shù)。引用私有變量的公有對象成員也遵守?zé)o補(bǔ)丁規(guī)則。
這是對Module模式的一個改進(jìn)版本。方便集中管理公有API,使公有API更簡潔清楚。
var myRevealingModule = function () { var privateVar = "Ben Cherry", publicVar = "Hey there"; function privateFunction() { console.log("Name: " + privateVar); } function publicSetName(strName) { var privateName = strName; } function publicGetName () { privateFunction(); } // 將暴露的公有指針指向私有函數(shù)和屬性上 return { setName: publicSetName, greeting: publicVar, getName: publicGetName }; }(); myRevealingModule.setName("Paul Kinlan"); console.log(myRevealingModule.greeting); // Hey there myRevealingModule.getName(); // Name: Ben Cherry
優(yōu)點(diǎn):該模式可以使腳本語法更加一致。在模塊代碼底部,它會很容易指出哪些函數(shù)和變量可以被公開訪問,從而改善可讀性。
缺點(diǎn):如果一個私有函數(shù)醫(yī)用一個公有函數(shù),在需要打補(bǔ)丁時,個哦剛女友函數(shù)是不能被覆蓋的。這是因?yàn)樗接泻瘮?shù)將繼續(xù)引用私有實(shí)現(xiàn),該模式不適用與公有成員,只適用于函數(shù)。
引用私有變量的公有對象成員也遵守?zé)o補(bǔ)丁規(guī)則。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/85438.html
摘要:模塊模式概念模式最初被定義為一種在傳統(tǒng)軟件工程中為類提供私有和共有封裝的方法。應(yīng)用將暴露的公有指針指向到私有函數(shù)和屬性上參考設(shè)計(jì)模式設(shè)計(jì)模式系列文章設(shè)計(jì)模式之工廠模式設(shè)計(jì)模式之單例模式設(shè)計(jì)模式之外觀模式設(shè)計(jì)模式之模塊模式揭示模塊模式 Module(模塊)模式 概念 Module模式最初被定義為一種在傳統(tǒng)軟件工程中為類提供私有和共有封裝的方法。 通過這種方式,能夠使一個單獨(dú)的對象擁有共有...
摘要:概念模式為更大的代碼提供了一個方便的高層次接口,能夠隱藏其底層的真是復(fù)雜性。參考設(shè)計(jì)模式設(shè)計(jì)模式系列文章設(shè)計(jì)模式之模塊模式揭示模塊模式設(shè)計(jì)模式之單例模式設(shè)計(jì)模式之外觀模式 概念 Facade模式為更大的代碼提供了一個方便的高層次接口,能夠隱藏其底層的真是復(fù)雜性。可以把它想成是簡化API來展示給其他開發(fā)人員。 優(yōu)缺點(diǎn) 優(yōu)點(diǎn) 簡化接口 使用者與代碼解耦 易于使用 缺點(diǎn) 存在隱性成本,性...
摘要:定義限制類的實(shí)例化次數(shù)只能是一次。如果該實(shí)例不存在的情況下,可以通過一個方法創(chuàng)建一個類來實(shí)現(xiàn)創(chuàng)建類的新實(shí)例,如果實(shí)例已經(jīng)存在,它會簡單返回該對象的引用。適用場景需要頻繁實(shí)例化然后銷毀的對象。頻繁訪問數(shù)據(jù)庫或文件的對象。 定義 限制類的實(shí)例化次數(shù)只能是一次。 如果該實(shí)例不存在的情況下,可以通過一個方法創(chuàng)建一個類來實(shí)現(xiàn)創(chuàng)建類的新實(shí)例,如果實(shí)例已經(jīng)存在,它會簡單返回該對象的引用。 適用場景 ...
摘要:對解耦是很有用對。設(shè)計(jì)模式系列文章設(shè)計(jì)模式之觀察者模式發(fā)布訂閱模式設(shè)計(jì)模式之工廠模式設(shè)計(jì)模式之單例模式設(shè)計(jì)模式之外觀模式設(shè)計(jì)模式之模塊模式揭示模塊模式 工廠模式 提供一個通用的接口來創(chuàng)建對象 示例 //Car構(gòu)造函數(shù) function Car(option) { this.doors = option.doors || 4 this.color = option...
摘要:概念模式就是一些提供能夠被一個或者一組子類簡單繼承功能的類意在重用其功能。示例下面通過一個簡單的例子來演示這個模式混入模式的實(shí)現(xiàn)不指定特定方法名的時候,將后者所有的方法都添加到前者里優(yōu)缺點(diǎn)優(yōu)點(diǎn)有助于減少系統(tǒng)中的重復(fù)功能及增加函數(shù)復(fù)用。 概念 Mixin模式就是一些提供能夠被一個或者一組子類簡單繼承功能的類,意在重用其功能。在面向?qū)ο蟮恼Z言中,我們會通過接口繼承的方式來實(shí)現(xiàn)功能的復(fù)用。但...
閱讀 767·2021-10-09 09:58
閱讀 635·2021-08-27 16:24
閱讀 1719·2019-08-30 14:15
閱讀 2377·2019-08-30 11:04
閱讀 2061·2019-08-29 18:43
閱讀 2166·2019-08-29 15:20
閱讀 2712·2019-08-26 12:20
閱讀 1612·2019-08-26 11:44