基本上,我有一个包含不同水果的自定义列表类。假设每个水果都有存储在列表中的ID号。
是否最好有:
new AppleList();
new OrangeList();
new LemonList();或
new FruitList<Fruit.Apple>();
new FruitList<Fruit.Orange>();
new FruitList<Fruit.Lemon>();需要考虑的事项:
我想使用的是更清晰,更好的设计,更快,更高效等。另外,如果以上两种技术不是最好的,请提出您的想法。
编辑:如果还不清楚的话,水果就是一个枚举。
发布于 2009-02-27 21:57:13
*所有ID均为int型。 果实的种类不会影响清单本身的执行。它将仅供列表的客户端使用,如外部方法等。
考虑到这两个事实,我不会费心于仿制药。我会在FruitList上放置一个正常的属性来指示它是哪种水果。
发布于 2009-02-27 21:41:55
使用组合:
public class AppleList : FruitList<Apple> { ... }
public class OrangeList : FruitList<Orange> { ... }
public class LemonList : FruitList<Lemon> { ... }将公共逻辑放在基类list中:
public class FruitList<T> : List<T>
where T : IFruit
{ ... }发布于 2009-02-27 21:41:40
如果使用泛型,是否有创建FruitList类型的目的?你能用一下单子吗?
在性能上不会有太大的差异,所以我说为什么要创建三个不同的类,而其中一个会做同样的事情呢?使用通用解决方案。
https://stackoverflow.com/questions/596772
复制相似问题