使用抽象/虚拟的最佳实践

所有人都为我的“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?