2009-06-10 6 views

Répondre

1

Tout ce qui est éliminable à une racine extensible sur lequel vous devez définir des comportements différents qui se chevauchent et interchangeables:

  • Windows et les frontières, les barres de défilement et MenuBars
  • Instruments de musique (ondes sonores) et les effets (flanger , wah-wah, etc.)
  • NPC et armes

et ainsi de suite ...

1

Le package java.io.

+0

Eh bien, il est un api puissant, mais quand vous commencez à ce sujet, il est accablant et ressemble à un trop-plein de OO. –

+0

@ Andre- convenu. Il est intéressant de noter que l'API .NET System.IO utilise les mêmes modèles mais dans .NET 2.0, ils ont ajouté un grand nombre de méthodes utiles comme File.ReadAllLines. Brad Abrams a un exemple assez intéressant des différences API: http://blogs.msdn.com/brada/archive/2005/12/27/507624.aspx. Dans certains scénarios, le motif Décorateur mène à la confusion. – RichardOD

3

J'ai utilisé le modèle Décorateur pour gérer des rôles complexes.

Exemple du haut de ma tête:

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 
    } 
} 
Questions connexes