Tec*_*Jay 7 c# design-patterns
我正在浏览Decorator设计模式,看到每个第二个示例都使用了一个抽象装饰器类,并且还实现了要为其创建装饰器的类的接口.我的问题是,
是否有必要拥有一个抽象装饰器类,然后定义具体的装饰器?
我创建了一个样本,我认为它可以类似于上面提到的Abstract类方法所实现的功能.
public interface ICarModel
{
Int32 Price { get; }
Int32 Tax { get; }
}
public class BaseModel : ICarModel
{
public Int32 Price
{
get { return 50000; }
}
public Int32 Tax
{
get { return 5000; }
}
public String GetBaseCarDetails()
{
return "Base car model Price is : " + this.Price
+ " and Tax is : " + this.Tax;
}
}
public class LuxuryModel
{
ICarModel _iCarModel;
public LuxuryModel(ICarModel iCarModel)
{
_iCarModel = iCarModel;
}
public Int32 Price
{
get { return _iCarModel.Price + 10000; }
}
public Int32 Tax
{
get { return _iCarModel.Tax + 3000; }
}
public String GetLuxuryCarDetails()
{
return "Luxury car model Price is : " + this.Price
+ " and Tax is : " + this.Tax;
}
}
Run Code Online (Sandbox Code Playgroud)
我们可以说这是装饰模式的一个例子吗?