我见过很多人建议您应该使用更接近您的领域的类来封装泛型类型,例如 Steve 和 Nat 建议在以测试为指导不断发展面向对象的软件 that:
我们的经验法则是,我们尝试限制使用泛型传递类型[...]。特别是当应用于集合时,我们将其视为一种重复形式。这暗示有一个领域概念应该被提取到一个类型中。
一般来说,什么时候做这样的事情是个好主意..
class PersonList : List<Person>
..而不仅仅是使用List<Person>
直接地?
您正在寻找的是typedef
Java 或 C# 的运算符。
不幸的是,子类化方法并不能很好地替代typedef
.
下面的文章《Java 理论与实践:伪 typedef 反模式》详细解释了原因。
我将把那篇文章的结论逐字复制在这里:
伪 typedef 反模式的动机很简单
足够了——开发人员想要一种定义更紧凑类型的方法
标识符,特别是当泛型使类型标识符更
冗长。问题是这个习惯用法在之间造成了紧密耦合
使用它的代码以及该代码的客户端,从而抑制重用。你
可能不喜欢泛型类型标识符的冗长,但这就是
不是解决问题的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)