使用 Delphi 2010,我需要编写一个程序来支持模块或插件。虽然有点做作,但假设我有一个转换数据文件/文本文件的应用程序。它将支持 30 种输入格式和与输出相同的 30 种格式。第一个版本可能只会实现其中一些格式。我的挑战是我想要一个数据驱动的流程。
例如,假设我有一个 PARSE_FILE 例程。如果我的输入数据文件格式是“Format_A”,那么当我调用 PARSE_FILE 时,它应该知道使用 PARSE_FILE_Format_A,而不是其他 29 个不同版本的 PARSE_FILE 例程。
PARSE_FILE 只是一个例子。我可能会有 60 种不同的常用函数,LOAD_FILE、GET_DELIMITER、PARSE_FILE 等,但是对于 30 种不同格式中的每一种,这些函数中的每一种都会略有不同。如果我使用 FORMAT_A 加载文件,我可以使用什么技术,这 60 个不同的常用例程中的每一个都使用这 60 个例程的正确“版本”?
请记住,我从 5 种输入格式开始,稍后会添加其他格式,因此我需要一种集中定义此“映射”的方法,因此在我的代码中使用这些例程的任何地方,例程的正确版本都会即使我称其为通用版本,也可以使用。