我认为一个典型的例子是,Window类可以在GoF书中有一个Border装饰器和一个ScrollBar装饰器。Decorator模式很好地解决问题的一些情况是什么?
您认为,知道装饰者模式能很好地解决问题的一些情况?
我认为一个典型的例子是,Window类可以在GoF书中有一个Border装饰器和一个ScrollBar装饰器。Decorator模式很好地解决问题的一些情况是什么?
您认为,知道装饰者模式能很好地解决问题的一些情况?
凡是是夺取到时,你必须定义不同的重叠和互换的行为,可扩展根:
等等...
java.io包。
我用Decorator模式来管理复杂角色。
例了我的头顶部:
public abstract class DecoratedUser : User
{
protected User _decoratedUser;
public DecoratedUser(User decoratedUser)
{
_decoratedUser = decoratedUser;
}
public abstract List<Permissions> GetPermissions;
}
public EditorUser : DecoratedUser
{
public EditorUser(User decoratedUser)
: base(decoratedUser)
{}
public override List<Permissions> GetPermissions
{
// return previous permissions + editor permissions
}
}
public ModeratorUser : DecoratedUser
{
public ModeratorUser(User decoratedUser)
: base(decoratedUser)
{}
public override List<Permissions> GetPermissions
{
// return previous permissions + moderator permissions
}
}
那么这是一个功能强大的API,但是当你第一次启动就可以了它的喧宾夺主,看起来像一个OO溢出。 – 2009-06-10 22:12:36