在免费pascal中分离声明和实现

时间:2016-11-07 21:28:18

标签: freepascal delphi

我正致力于在客户端和服务器之间传递消息的网络应用程序。客户端和服务器的消息类型声明是相同的。例如,消息可能如下所示:

TExampleMessage = class(TObject)
public
  ProcessId: Word;
  procedure Execute(Sender: TObject);
end;

但是,消息的行为方式(执行过程的内容)在不同进程之间会有很大差异。

到目前为止,我所做的只是为客户端提供一个消息单元,为服务器提供另一个消息单元。我希望能够以某种方式将两者结合起来,以便我可以在一个共享单元中声明所有类型,并且以与该过程相关联的单元实现消息行为的实际实现。

这可能吗?如果可能的话,值得做吗?

1 个答案:

答案 0 :(得分:1)

看起来我不明白,但为什么你不使用标准的OOP方法?使用虚拟/抽象Execute方法声明TSampleMsg对象并从中派生不同的类来覆盖此方法?