最近,在全球海洋观测系统本书中,我发现了自己的类包装常见的类型(如集合)的有趣的想法:
尝试使用问题的语言你工作,而不是语言。网络构造。它减少了域和代码之间的概念差距。还尝试限制 传递类型与泛型。这是 重复的一种形式。这暗示有一个领域概念,应该是提取类型为 。
坦率地说,我不是在包装常见泛型集合所以极值,但即使是给人一种类型的自己的名字使它更容易匹配阅读和理解:
public class UserNameDictionary : Dictionary<int, string>
{
}
很简单。现在是什么更好的阅读:
Dictionary<int, string> users = new Dictionary<int, string>();
UserNameDictionary users = new UserNameDictionary();
您也可以快速添加注释类:
/// <summary>
/// Represents a dictionary of user names accessed by ids.
/// </summary>
这不会添加注释方法,如添加(整型,字符串),但其他时候人们会使用这个类,他们会在UserNameDictionary
的背景下思考,而不是在抽象的Dictionary<int, string>
上下文中。
如果你想使你的类更加得心应手,你可以隐藏基类的方法:
public new void Add(int userId, string userName)
{
base.Add(userId, userName);
}
对于更复杂的使用情况我会使用自定义类的代表一道,内部字典去。
真的听起来像矫枉过正我一个解决方案... –