装饰者模式

装饰者模式适用于往对象上动态地添加方法和属性,当方法和属性花样很多,又需要根据实际情况动态地修改的时候,可以选用这种模式。

具体实现方法其实和attatchOnload的思想一样,模式类里需要接收一个参数,这个参数是添加这个类之前的对象,先调用参数对象中的方法,然后在后面添加这个类里的新方法。
function newMethod(fun){
   fun();
   newFun();
}

装饰者和被装饰者是同一个超类派生的不同子类。被装饰者被装饰者装饰后,身份(类型)仍然是同样的类型(同一超类)。

原文地址:https://www.cnblogs.com/cly84920/p/4427103.html