我认为一个典型的例子是Window类可以在GoF书中有一个Border装饰器和一个ScrollBar装饰器。
你认为,装腔作势模式能够很好地解决问题的一些情况是什么?
答案 0 :(得分:3)
我使用了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
}
}
答案 1 :(得分:1)
java.io包。
答案 2 :(得分:1)
任何可扩展的根都可以在其上定义不同的重叠和可互换行为的东西:
依旧......