使用抽象/虚拟的最佳实践
所有人都为我的“EngRish”感到遗憾。 我正在重新审视我的一些项目,以便让我的同事更加可用/可以理解它们; 我正在开发一个用于将协议驱动程序集成到我们的SCADA系统的框架,简而言之,我有一个抽象类,它提供了必须由协议驱动程序专用的一些常用功能,例如:
与该领域开展沟通:
调用Method: void ConnectionOnScan(string connectionName)
在基类中,我有这样的东西:
public void ConnectionOnScan(string connectionName)
{
//... some preliminary operation here
try
{
ConnectionOnScan(channelNumber);//provided by the derived class
}
catch (Exception e)
{
//some code here to properly register the fault to the SCADA System
}
}
应该由派生类提供的方法应该是(根据系统):
void ConnectionOnScan(UInt64 channelNumber)
通常情况下,驱动程序必须在此方法内执行某些操作,但在小的情况下,此方法可能为空。
我的目标是尽可能简单地让驱动程序的开发人员尽可能简单,即使对于低技能的程序员也是如此。
我有大约30种具有相同用例的方法:最佳实践是什么? 将它们声明为抽象的或虚拟的(使用空方法)?
你应该问自己,你是否必须在驱动程序中实现该方法,或者如果它是可选的。
在第一种情况下,您使用抽象,在第二种情况下,您使用虚拟。
链接地址: http://www.djcxy.com/p/38135.html上一篇: Best practice using abstract / virtual
下一篇: Calling subclass' method in inherited virtual function?