1
2
我发现泛型通过泛型属性来促进组合,而不必为要利用的每个组合编写不同的类,也不必创建冗长的继承树。当我可以的时候,我会尽量支持组合继承,特别是在单一继承平台上。 我想说你的处境需要两者兼而有之。可能是这样的: class Child<TParent> { TParent Parent; } class Parent<TChild> { IList<TChild> Children; } class ParentAndChild<TParent, TChild> : Parent<TChild> { TParent Parent; } class Element : Child<Step> { ... } class Step : ParentAndChild<Script, Element> { ... } class Script : Parent<Step> { ... } 类似这样的东西可以促进双链接对象层次结构中的许多功能。 |
2
1
也不重用实现的最佳方法是聚合。
[编辑] 对于这样一个复杂的问题,这也许是一个简短的回答。
|
3
0
看看你的利弊清单-我想你已经知道答案了。缺点通常是“我不太熟悉这个”,“它没有那么有效”,而优点是“它在我的代码上强制执行更严格的结构”。我要说的是,一定要选择使代码更健壮的泛型。 |
Glory Raj · 有什么方法可以使这两个块具有共同的功能吗 2 年前 |
milczi · Swift通用无强制展开向下投射 6 年前 |
bugs · Typescript-泛型类型扩展自身 6 年前 |
John Bustos · C#通用工厂模式,不说明通用工厂模式的类型 6 年前 |
Blankdud · 具有默认数据的通用对象创建方法 6 年前 |
Tim Hutchison · 从泛型对象列表中读取泛型值 6 年前 |