js裝飾者模式是什麼
在程式開發中,不希望某種型別天生龐大,一次承擔很多責任,可以使用裝飾者模型。裝飾者的模式可以動態地給某個物件追加責任,不會影響從這個類中誕生其他物件。
概念
1、裝飾者模式在不改變物件本身的基礎上,在程式執行期間動態新增物件的方法。
2、js語言動態更改物件相當容易,可以直接更改物件和物件的某種方法,不需要使用類來實現裝飾者的模式。
例項
Function.prototype.before = function(beforefn) { var self = this; //儲存原函式引用 return function(){ //返回包含了原函式和新函式的 '代理函式' beforefn.apply(this, arguments); //執行新函式,修正this return self.apply(this,arguments); //執行原函式 } } Function.prototype.after = function(afterfn) { var self = this; return function(){ var ret = self.apply(this,arguments); afterfn.apply(this, arguments); return ret; } } var func = function() { console.log('2'); } //func1和func3為掛載函式 var func1 = function() { console.log('1'); } var func3 = function() { console.log('3'); } func = func.before(func1).after(func3); func();
以上就是js裝飾者模式的介紹,希望對大家有所幫助。更多js學習指路:
推薦操作環境:windows7系統、jquery3.2.1版本,DELL G3電腦。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2249/viewspace-2829673/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JS中裝飾器到底是什麼?JS
- 修飾者模式(裝飾者模式,Decoration)模式
- 裝飾者模式模式
- python裝飾器是什麼Python
- js裝飾者模式有哪些應用場景JS模式
- 裝飾者模式(1)模式
- 設計模式——裝飾者模式設計模式
- 設計模式-裝飾者模式設計模式
- [設計模式]裝飾者模式設計模式
- 小白設計模式:裝飾者模式設計模式
- 設計模式之裝飾者模式設計模式
- JS實現AOP 面向切面程式設計 (裝飾者模式)JS程式設計模式
- Netty中的裝飾者模式Netty模式
- 聊一聊裝飾者模式模式
- 設計模式系列10–裝飾者模式設計模式
- PHP設計模式之裝飾者模式PHP設計模式
- 設計模式之裝飾者模式(二)設計模式
- 設計模式之裝飾者模式(一)設計模式
- Java設計模式(3)-裝飾者模式Java設計模式
- Java設計模式之裝飾者模式Java設計模式
- 設計模式第三講-裝飾者模式設計模式
- Head First 設計模式(3)----裝飾者模式設計模式
- SpringBoot實踐設計模式———裝飾者模式Spring Boot設計模式
- 設計模式:裝飾者模式介紹及程式碼示例 && JDK裡關於裝飾者模式的應用設計模式JDK
- 設計模式(八)Context中的裝飾者模式設計模式Context
- 設計模式 | 裝飾者模式及典型應用設計模式
- 8.java設計模式之裝飾者模式Java設計模式
- 設計模式——從HttpServletRequestWrapper瞭解裝飾者模式設計模式HTTPServletAPP
- 09 結構型模式之裝飾者模式(decorator)模式
- 使用lambda實現裝飾者模式 - Voxxed模式
- 使用裝飾者模式做有趣的事情模式
- 結合案例深入解析裝飾者模式模式
- 08.裝飾者模式設計思想模式
- 設計模式(十一)----結構型模式之裝飾者模式設計模式
- 裝飾器的作用及使用方法是什麼?
- 設計模式學習筆記之裝飾者模式設計模式筆記
- 每天一個設計模式之裝飾者模式設計模式
- 設計模式(九)——裝飾者模式(io原始碼分析)設計模式原始碼