软件设计模式在JavaScript中的应用
2010-09-14 13:32:10 来源:WEB开发网Decorator函数的基本思路是将原有的函数替换,在替换后的函数中增加对前置、后置通知的调用。下面通过一个具体的示例来说明Decorator函数的使用方法,首先定义一个类testClass。
var testClass = function() {
testClass.prototype.pl=”hello”;
testClass.prototype.ml =function() {
alert(this.p1);
}
};
如果希望在所有testClass类的实例上增加前置或后置通知,那么需要对testClass.prototype属性进行处理。
Decorator(testClass.prototype);
testClass.prototype.addBeforeAdvice(“m1”, function() {
alert(“beforeAdvice”);
});
testClass.prototype.addAfterAdvice(“m1”, function() {
alert(”afterAdvice”);
});
此时,创建一个testClass类的对象实例,并且执行它的ml方法,程序将依次输出“beforeAdvice”、“hello”和“afterAdvice”。
var t=new testClass ();
t.ml(); //依次输出“beforeAdvice”、“hello”和“afterAdvice”
如果仅希望对testClass类的某个具体实例添加前置、后置通知,那么直接处理该实例即可。
var t=new testClass();
Decorator(t);
t.addBeforeAdvice(“ml” ,function](){
alert(“beforeAdvice”);
});
t.addAfterAdvice(“ml”, function(){
alert(“afterAdvice”);
});
5.Observer模式
(1)概念
Tags:软件 设计模式 JavaScript
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接