假设我有一个名为的类A
,我想使用装饰器设计模式.如果我错了,请纠正我,但为了工作,我们需要创建一个装饰器类,比如说ADecorator
,它将保存对A
实例的引用,所有其他装饰器将扩展它以添加功能.
我不明白为什么我们必须创建一个装饰器类,而不是使用A
实例?
我正在浏览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) …
Run Code Online (Sandbox Code Playgroud)