简体中文 | 繁体中文

大话设计模式-----第209章


超级黄金眼 世界同娱乐 巧夺君心,本宫誓不为后 爱火重燃,总裁的心尖前妻 异世逍遥天王 美女江山一锅煮 重生之唯我独仙 庶女的生存法则 穿越暗黑破坏神 重生之武神道 末世恐慌 深海迷航 爱情是无药可解的毒 相语 种田钱途无量 回到大航海时代 爹地来了,妈咪快跑! 穷鬼的上下两千年 断肠镖 薄幸
第209章

大B:“简化必须注意两点:1、一个装饰器类的接口必须与被装饰的类的接口相容。2、尽量保持Component作为一个‘轻’类。Component类的职责在于为各个具体装饰器类提供共同的接口,而不是存储数据,所以不要把太多的逻辑和状态放在Component类里面。省略Component接口,只有一个具体的ConcreteComponent类,则Decorater经常作为ConcreteComponent的子类。”

//Component.java构件类

publicabstractclassComponent

{

publicabstractvoiddoSomething();

}

//ConcreteComponent.java具体构件类

publicclassConcreteComponentextendsComponent

{

publicvoiddoSomething()

{

//provideimplementationhere

}

}

//Decorator.java装饰器抽象类

publicabstractclassDecoratorextendsComponent

{

protectedComponentponent;

publicDecorator(Componentponent)

{

this.orgponent=ponent;

}

publicvoiddoSomething()

{

ponent.doSomething();

}

}

//ConcreteDecorator.java具体装饰器类

publicclassConcreteDecoratorextendsDecorator

{

publicConcreteDecorator(Componentponent)

{

super(ponent);

}

privatevoidaddedBehavior()

{

//someextrafunctionalitygoeshere

}

publicvoiddoSomething()

{

ponent.doSomething();

addedBehavior();

}

}

推荐小说