91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用javascript中的外觀模式

發布時間:2020-08-04 09:27:07 來源:億速云 閱讀:121 作者:小豬 欄目:web開發

這篇文章主要講解了如何使用javascript中的外觀模式,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

介紹:外觀模式是一種使用頻率非常高的結構型設計模式,它通過引入一個外觀角色來簡化客戶端與子系統之間的交互,為復雜的子系統調用提供一個統一的入口,隱藏系統復雜度,降低子系統與客戶端的耦合度。

定義: 為子系統中的一組接口提供一個統一的入口。外觀模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。

場景:我們還是用畫圓的方式來介紹下外觀模式。

示例:

var Rectangle = function(){
  this.draw = function(){
    console.log('畫一個矩形');
  }
}
 
var Circle = function(){
  this.draw = function(){
    console.log('畫一個圓');
  }
}
 
var Triangle = function(){
  this.draw = function(){
    console.log('畫一個三角形');
  }
}
 
var ShapeMaker = function(){
  this.rectangle = new Rectangle();
  this.circle = new Circle();
  this.triangle = new Triangle();
 
  this.drawRectangle = function(){
    this.rectangle.draw();
  }
 
  this.drawCircle = function(){
    this.circle.draw();
  }
 
  this.drawTriangle = function(){
    this.triangle.draw();
  }
}
 
var shapeMaker = new ShapeMaker();
 
shapeMaker.drawRectangle(); //畫一個矩形
shapeMaker.drawCircle(); //畫一個圓
shapeMaker.drawTriangle(); //畫一個三角形

是不是豁然開朗?其實我們日常最常用的就是外觀模式。我們的工具類,jquery,包括一些瀏覽器兼容,我們都會把他們封裝到一個對象里。

這就是外觀模式提倡的把復雜的操作封裝到一個簡單接口中。幾乎所有的涉及多個業務對象交互的場景都可以考慮使用外觀模式進行重構。

外觀模式總結:

優點:
* 對客戶端屏蔽了子系統組件,減少了客戶端所需處理的對象數目,并且提升使用便捷度。
* 實現了客戶端與子系統之間的松耦合關系,這使得子系統的變化不會影響客戶端。

缺點:
* 不能姮好的限制客戶端直接使用子系統類
* 如果設計不當,增加新的子系統可能需要修改外觀類的源代碼,違背了開關原則

適用場景:
* 需要對一個復雜子系統提供一個簡單入口時可以采用外觀模式

看完上述內容,是不是對如何使用javascript中的外觀模式有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桦川县| 梅河口市| 无极县| 通州区| 扶沟县| 溆浦县| 陕西省| 同德县| 奎屯市| 瓮安县| 海口市| 斗六市| 革吉县| 霸州市| 谢通门县| 临澧县| 黄骅市| 平远县| 友谊县| 株洲县| 池州市| 泽库县| 古丈县| 海口市| 元谋县| 永登县| 沅江市| 名山县| 巴南区| 石泉县| 钦州市| 梁河县| 中江县| 噶尔县| 东方市| 北流市| 福清市| 克什克腾旗| 方山县| 屏边| 武陟县|