应该使用什么设计模式在c#中创建自己的对象容器?

时间:2013-01-03 13:26:10

标签: c# .net design-patterns

应该使用什么样的设计模式在C#中创建自己的Object Container,目的是存储和检索任何类型的对象,字符串等

1 个答案:

答案 0 :(得分:2)

听起来你正在寻找一个缓存,你可以创建一个围绕Dictionary<TKey, TValue>的包装器,例如

public class ObjectContainer
{
    private Dictionary<string, object> cache;

    public ObjectContainer()
    {
        cache = new Dictionary<string, object>();
    }

    public T Fetch<T>(string name)
    {
        object value;
        cache.TryGetValue(name, out value);
        return (T)value;
    }

    public void Add(string name, object value)
    {
        cache.Add(name, value);
    }
}
...

var cache = new ObjectContainer();
cache.Add("data1", 12345);
cache.Add("data2", new ClassName());
var intData = cache.Fetch<int>("data1");
var objData = cache.Fetch<ClassName>("data2");