//裝飾者模式:就是在保證不改變原有物件的基礎上,去擴充套件一些想要的方法或去求var carinte***ce = new bh.inte***ce('carinte***ce' , ['getprice' , 'assemble']);
var car = function(car);
car.prototype = ,
assemble:function()
};var lightdecorator = function(o);
bh.extend(lightdecorator , car); //立即執行
lightdecorator.prototype = ,
assemble:function()
};var iceboxdecorator = function(o);
bh.extend(iceboxdecorator , car); //原型繼承
//裝飾者 不僅可以用在類上, 還可以用在函式上//返回乙個當前時間的字串表示形式
function getdate();
// 包裝函式 (裝飾者函式)
function uppercasedecorator(fn)
};alert(getdate());
var getdecoratordate = uppercasedecorator(getdate);
alert(getdecoratordate());
裝飾著模式
package com.henu.decorator 漢堡基類 author rock public abstract class humburger public abstract double getprice package com.henu.decorator 雞腿堡類 被裝飾者的初始狀態,...
裝飾著模式
裝飾著模式 裝飾者模式動態地將責任附加到物件上。若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方案。案例 有這樣乙個專案,做乙個餐廳訂餐系統。起初的 結構是這樣的。前面有很多beverage的繼承類,現在遇到的問題是牛奶的價錢 了,那麼所有相關的類,我們都要進行調整,比如milk,sugaran...
裝飾著模式(Decorator Pattern)
裝飾者模式是動態的將責任附加到物件上,若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方案。簡單的說,裝飾者模式由三部分組成,分別是基礎抽象類,可以被裝飾者包裝的類 裝飾者類,後兩種類均是基礎抽象類的子類,但是裡面的方法對於基礎類有更多的擴充套件,最終使用,均是使用的基礎類進行操作,因此,無論怎麼...