C# 基类实现注意事项
我写了一个类来做一些事情,过了一段时间,我发现许多其他类都共享这个功能,所以决定实现一个基类(C#中的抽象)并将所有共享的功能都放在其中 既然不可能实例化这样一个类,那么如何调试它呢C# 基类实现注意事项,c#,inheritance,base-class,C#,Inheritance,Base Class,我写了一个类来做一些事情,过了一段时间,我发现许多其他类都共享这个功能,所以决定实现一个基类(C#中的抽象)并将所有共享的功能都放在其中 既然不可能实例化这样一个类,那么如何调试它呢 开发基类有什么实际的考虑吗?我会制作一个模拟对象,让您从新抽象继承。您甚至可以使用模拟框架来实现这一点 保留它来运行单元测试,除非您使用Rhino Mocks(我个人最喜欢的模拟框架)之类的东西。我会制作一个模拟对象,您可以从新的抽象中继承它。您甚至可以使用模拟框架来实现这一点 保留它来运行单元测试,除非您使用Rh
开发基类有什么实际的考虑吗?我会制作一个模拟对象,让您从新抽象继承。您甚至可以使用模拟框架来实现这一点
保留它来运行单元测试,除非您使用Rhino Mocks(我个人最喜欢的模拟框架)之类的东西。我会制作一个模拟对象,您可以从新的抽象中继承它。您甚至可以使用模拟框架来实现这一点
保留它来运行单元测试,除非您使用Rhino Mocks(我个人最喜欢的模拟框架)之类的东西。要调试基类,请创建一个派生类的实例并通过该实例进行调试
您还可以考虑创建另一个派生类,该类除了继承基类之外什么都不做,所以您可以测试它。
调试基类,创建派生类之一的实例并调试通过。你也可以考虑创建另一个派生类,它除了继承基类之外什么都不做,所以你可以测试它。
首先,你的类不需要抽象来继承它,如果它不是抽象的,你可以实例化它。否则,只需在具体实现中调试它即可。首先,类继承它不需要抽象,如果它不是抽象的,可以实例化它。否则,只需在具体实现中调试它即可您可以在测试夹具组件中创建一个派生版本(我假设您正在对基类进行单元测试,因此需要单独实例化它),仅用于测试基类的功能。派生版本将提供测试基础所需的任何附加基础设施。您可以决定创建几个派生版本来测试抽象基类的不同方面。您可以在测试夹具程序集中创建一个派生版本(我假设您正在对基类进行单元测试,因此需要单独实例化它),只是为了测试基类的功能。派生版本将提供测试基础所需的任何附加基础设施。您可以决定创建几个派生版本来测试抽象基的不同方面。您可以使用从抽象基继承的派生类来调试抽象基。调试时,您需要记住所做的任何更改,并检查结果行为是否仍由所有派生类共享。您可以使用从派生类继承的派生类进行调试。调试时,您需要记住所做的任何更改,并检查结果行为是否仍由所有派生类共享。如果您需要测试它,可以执行以下两项操作之一: 1) 您可以拥有非抽象的基类,因此可以实例化基类并进行测试2) 在您的测试项目中,您可以在底座周围制作一个模拟包装器并测试模拟。如果需要测试,您可以执行以下两项操作之一: 1) 您可以拥有非抽象的基类,因此可以实例化基类并进行测试 2) 在您的测试项目中,您可以围绕基础创建一个模拟包装器,并测试模拟 因为不可能实例化 这样一个类怎么调试呢 如果您询问如何实际测试它(即单元测试),我通常会编写一个从基类继承的测试类,并以这种方式进行测试。如果您询问的是实际调试,那么在运行的应用程序中使用子类实例化它之后,它与任何其他类都没有什么不同。这有意义吗 有什么实际考虑吗 用于开发基类 这些年来,我听到了两种观点:1)任何普通的东西都放在基类中;2)如果不是真正的继承,就不要建立基类。我倾向于设计/编码前者,但#2确实有它的优点,因为它可以使设计在某种程度上违反直觉。只有我的0.02美元 因为不可能实例化 这样一个类怎么调试呢 如果您询问如何实际测试它(即单元测试),我通常会编写一个从基类继承的测试类,并以这种方式进行测试。如果您询问的是实际调试,那么在运行的应用程序中使用子类实例化它之后,它与任何其他类都没有什么不同。这有意义吗 有什么实际考虑吗 用于开发基类
这些年来,我听到了两种观点:1)任何普通的东西都放在基类中;2)如果不是真正的继承,就不要建立基类。我倾向于设计/编码前者,但#2确实有它的优点,因为它可以使设计在某种程度上违反直觉。只是我的$0.02…调试抽象类 没有任何东西阻止您调试抽象类,当调试子类时,调试器会根据需要自动将您重定向到父类的实现 设计类层次结构 尽管在.NET中继承很简单,但如果没有清晰的类层次结构,很快就会变得难以维护 继承并不是确保OO中重用的唯一方法 以下几条建议可能会有所帮助:
- 确保你的基类有明确的责任
- 保持你继承遗产的深度较低
- 倾向于