Qu'est-ce que le “Répartiteur” modèle de conception?

Qu'est-ce que le "répartiteur" et comment pourrais-je la mettre en œuvre dans le code?

J'ai un sac de propriétés génériques des objets et aimerait avoir de la récupération de déléguer à une méthode générique.

Actuellement, j'ai propriétés la recherche d'une clé spécifique dans le sac. Par exemple:

private Dictionary<String, Object> Foo { get; set; }
private const String WidgetKey = "WIDGETKEY";

public Widget? WidgetItem
{
    get
    {
        return Foo.ContainsKey(WidgetKey) ? Foo[WidgetKey] as Widget: null;
    }
    set
    {
        if (Foo.ContainsKey(WidgetKey))
            Foo[WidgetKey] = value;
        else
            Foo.Add(WidgetKey, value);
    }
}

Il a été suggéré que cela pourrait être plus générique avec le "répartiteur", mais j'ai été incapable de trouver une bonne description ou d'un exemple.

Je suis à la recherche d'une plus générique façon de gérer les biens sac de stocker/récupérer.

OriginalL'auteur Ben Farmer | 2010-03-17