bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Javascript如何實現橋接模式

本篇內容主要講解“Javascript如何實現橋接模式”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Javascript如何實現橋接模式”吧!

為景泰等地區用戶提供了全套網頁設計制作服務,及景泰網站建設行業解決方案。主營業務為成都網站設計、做網站、景泰網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

基本理論

橋接模式定義:將抽象部分與它的實現部分分離,使它們都可以獨立地變化。
橋接模式主要有4個角色組成:
(1)抽象類
(2)擴充抽象類
(3)實現類接口
(4)具體實現類
根據javascript語言的特點,我們將其簡化成2個角色:
(1)擴充抽象類
(2)具體實現類
怎么去理解橋接模式呢?我們接下來舉例說明

橋接模式的實現

理解橋接模式的思想,關鍵是要理解其分離抽象部分和實現部分的思想。我們舉例進行說明

最簡單的橋接模式

其實我們最經常用的jQuery的each函數就是一個典型的橋接模式,我們模擬其實現如下:

var each = function (arr, fn) {     for (var i = 0; i < arr.length; i++) {         var val = arr[i];         if (fn.call(val, i, val, arr)) {             return false;         }     } } var arr = [1, 2, 3, 4]; each(arr, function (i, v) {     arr[i] = v * 2; })

在這個例子中,我們通過each函數循環了arr數組,別看這個例子很常見,但其中就包含了典型的橋接模式。

在這個例子中,抽象部分是each函數,也就是上面說的擴充抽象類,實現部分是fn,即具體實現類。抽象部分和實現部分可以獨立的進行變化。這個例子雖然簡單,但就是一個典型的橋接模式的應用。

插件開發中的橋接模式

橋接模式的一個適用場景是組件開發。我們平時開發組件為了適應不同場合,組件相應的會有許多不同維度的變化。橋接模式就可以應用于此,將其抽象與實現分離,使組件的擴展性更高。
假設我們要開發一個彈窗插件,彈窗有不同的類型:普通消息提醒,錯誤提醒,每一種提醒的展示方式還都不一樣。這是一個典型的多維度變化的場景。首先我們定義兩個類:普通消息彈窗和錯誤消息彈窗。

function MessageDialog(animation) {     this.animation = animation; } MessageDialog.prototype.show = function () {     this.animation.show(); } function ErrorDialog(animation) {     this.animation = animation; } ErrorDialog.prototype.show = function () {     this.animation.show(); }

這兩個類就是前面提到的抽象部分,也就是擴充抽象類,它們都包含一個成員animation。

兩種彈窗通過show方法進行顯示,但是顯示的動畫效果不同。我們定義兩種顯示的效果類如下:

function LinerAnimation() { } LinerAnimation.prototype.show = function () {     console.log("it is liner"); } function EaseAnimation() { } EaseAnimation.prototype.show = function () {     console.log("it is ease"); }

這兩個類就是具體實現類,它們實現具體的顯示效果。那我們如何調用呢?

1 var message = new MessageDialog(new LinerAnimation());
2 message.show();
3 var error = new ErrorDialog(new EaseAnimation());
4 error.show();

到此,相信大家對“Javascript如何實現橋接模式”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

網站欄目:Javascript如何實現橋接模式
文章路徑:http://vcdvsql.cn/article38/pepppp.html

成都網站建設公司_創新互聯,為您提供虛擬主機ChatGPT網站排名做網站品牌網站制作網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設