簡體   English   中英

使用抽象/虛擬的最佳實踐

[英]Best practice using abstract / virtual

首先,對我的“ EngRish”表示抱歉。 我正在重新審視我的一些項目,以使他們的同事更容易使用/理解它們。 簡而言之,我正在開發一個將協議驅動程序集成到我們的SCADA系統的框架,我有一個抽象類,提供了一些必須由協議驅動程序專用的通用功能,例如:

打開與該字段的通信:

調用方法: 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種方法:最佳實踐是什么? 聲明它們是抽象的還是虛的(使用空方法)?

您應該問自己是否必須在驅動程序中實現該方法,或者該方法是否可選。

在第一種情況下,您使用抽象,在第二種情況下,您使用虛擬。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM