亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Javascript設(shè)計模式學(xué)習(xí)之Decorator(裝飾者)模式

Joyven / 3179人閱讀

摘要:抽象模式使用的裝飾者模式允許我們在運(yùn)行時或者在隨后一個點(diǎn)上動態(tài)地將兩個或兩個以上的對象和它們的屬性一起擴(kuò)展或合并為一個單一對象。定義三個對象目的是為了裝飾對象將的額外功能附加到上。

抽象decorator模式 使用jQuery的裝飾者模式

jQuery.extend()允許我們在運(yùn)行時或者在隨后一個點(diǎn)上動態(tài)地將兩個或兩個以上的對象(和它們的屬性)一起擴(kuò)展(或合并)為一個單一對象。

定義三個對象: defaults、options、settings,目的是為了裝飾defaults對象,將options的額外功能附加到defaults上。

var decoratorApp = decoratorApp || {};
//定義要使用的對象
decoratorApp = {
   defaults: {
      validate: false,
      limit: 5,
      name: "foo",
      welcome: function(){
          console.log("welcome!");
      }
   },

   options:{
       validate: true,
       name: "bar",
       helloWorld: function(){
           console.log("hello,world");
       }
   },

   settings: {},

   printObj: function(obj){
       var arr = [],
           next;
       $.each(obj,function(key,val){
           next = key + ":";
           next += $.isPlainObject(val) ? printObj(val) : val;
           arr.push(next);
       });
       
       return "{" + arr.join(",") + "}";
   }
};

decoratorApp.settings = $.extend({},decoratorApp.defaults,decoratorApp.options);
//打印
decoratorApp.printObj(decoratorApp.settings);

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/78883.html

相關(guān)文章

  • 每天一個設(shè)計模式裝飾模式

    摘要:作者按每天一個設(shè)計模式旨在初步領(lǐng)會設(shè)計模式的精髓,目前采用和兩種語言實(shí)現(xiàn)。誠然,每種設(shè)計模式都有多種實(shí)現(xiàn)方式,但此小冊只記錄最直截了當(dāng)?shù)膶?shí)現(xiàn)方式原文地址是每天一個設(shè)計模式之裝飾者模式歡迎關(guān)注個人技術(shù)博客。 作者按:《每天一個設(shè)計模式》旨在初步領(lǐng)會設(shè)計模式的精髓,目前采用javascript和python兩種語言實(shí)現(xiàn)。誠然,每種設(shè)計模式都有多種實(shí)現(xiàn)方式,但此小冊只記錄最直截了當(dāng)?shù)膶?shí)現(xiàn)方式...

    brianway 評論0 收藏0
  • 每天一個設(shè)計模式裝飾模式

    摘要:作者按每天一個設(shè)計模式旨在初步領(lǐng)會設(shè)計模式的精髓,目前采用和兩種語言實(shí)現(xiàn)。誠然,每種設(shè)計模式都有多種實(shí)現(xiàn)方式,但此小冊只記錄最直截了當(dāng)?shù)膶?shí)現(xiàn)方式原文地址是每天一個設(shè)計模式之裝飾者模式歡迎關(guān)注個人技術(shù)博客。 作者按:《每天一個設(shè)計模式》旨在初步領(lǐng)會設(shè)計模式的精髓,目前采用javascript和python兩種語言實(shí)現(xiàn)。誠然,每種設(shè)計模式都有多種實(shí)現(xiàn)方式,但此小冊只記錄最直截了當(dāng)?shù)膶?shí)現(xiàn)方式...

    shleyZ 評論0 收藏0
  • TS下的裝飾模式(Decorator)

    摘要:裝飾者模式裝飾者模式就是動態(tài)的給類或?qū)ο笤黾庸δ艿脑O(shè)計模式。下的實(shí)現(xiàn)里的裝飾器目前處在建議征集的第二階段,不被瀏覽器所支持,如果想要提前使用這個新特性就需要,等工具進(jìn)行轉(zhuǎn)譯。這里介紹下的用法。 1.1、裝飾者模式 裝飾者模式就是動態(tài)的給類或?qū)ο笤黾庸δ艿脑O(shè)計模式。在程序運(yùn)行時動態(tài)的給一個具備基礎(chǔ)功能的類或?qū)ο筇砑有碌墓δ?,并且不會改變會破壞基礎(chǔ)類和對象的功能。先提煉出產(chǎn)品的最小可用產(chǎn)品...

    SolomonXie 評論0 收藏0
  • 5 分鐘即可掌握的 JavaScript 裝飾模式與 AOP

    摘要:下裝飾者的實(shí)現(xiàn)了解了裝飾者模式和的概念之后,我們寫一段能夠兼容的代碼來實(shí)現(xiàn)裝飾者模式原函數(shù)拍照片定義函數(shù)裝飾函數(shù)加濾鏡用裝飾函數(shù)裝飾原函數(shù)這樣我們就實(shí)現(xiàn)了抽離拍照與濾鏡邏輯,如果以后需要自動上傳功能,也可以通過函數(shù)來添加。 showImg(https://segmentfault.com/img/bVbueyz?w=852&h=356); 什么是裝飾者模式 當(dāng)我們拍了一張照片準(zhǔn)備發(fā)朋友...

    chunquedong 評論0 收藏0
  • ES7-Decorator-裝飾模式

    摘要:裝飾者要實(shí)現(xiàn)這些相同的方法繼承自裝飾器對象創(chuàng)建具體的裝飾器,也是接收作對參數(shù)接下來我們要為每一個功能創(chuàng)建一個裝飾者對象,重寫父級方法,添加我們想要的功能。 裝飾模式 僅僅包裝現(xiàn)有的模塊,使之 更加華麗 ,并不會影響原有接口的功能 —— 好比你給手機(jī)添加一個外殼罷了,并不影響手機(jī)原有的通話、充電等功能; 使用 ES7 的 decorator ES7 中增加了一個 decorator 屬性...

    zhangxiangliang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<