我写了一个类来做一些事情,过了一段时间,我发现许多其他类共享了这个功能,所以我决定实现一个基类(C#中的抽象),并将所有共享放入其中。
既然不可能实例化这样的类,那么如何调试它呢?
开发基类有什么实际的考虑因素吗?
发布于 2010-12-18 00:34:13
调试抽象类
没有什么可以阻止您调试抽象类,当调试您的子类时,调试器会根据需要自动将您重定向到父类的实现。
设计类层次结构
虽然在.NET中继承起来很简单,但如果没有清晰的类层次结构,它很快就很难维护。
继承并不是确保在OO中重用的唯一方法。
下面几个建议可能会有所帮助:
interfaces可能是一个不错的选择)发布于 2010-12-18 00:29:57
如果你需要测试它,你可以做以下两件事之一:
1)你可以拥有非抽象的基类,这样基类就可以被实例化并进行测试。
2)在您的测试项目中,您可以在基础上创建一个模拟包装器并测试模拟。
发布于 2010-12-18 00:31:46
既然不可能实例化这样的类,那么如何调试它呢?
如果你问的是如何实际测试它(即单元测试),我通常会编写一个从基类继承的测试类,并以这种方式对其进行测试。如果你问的是实际的调试,那么一旦你在一个正在运行的应用程序中用一个子类实例化了它,那么它与任何其他类没有什么不同。这有意义吗?
开发基类有什么实际的考虑因素吗?
多年来,我听到了两种观点: 1)将任何常见的东西放入基类中;2)如果基类不是真正的继承,就不要创建基类。我倾向于前者的设计/编码,但#2确实有它的优点,因为它在某种程度上可以使设计变得反直觉。只有我的0.02美元...
https://stackoverflow.com/questions/4472544
复制相似问题