通常,您可以简单地隐藏第三方产品 定义明确的抽象界面。事实上,我们一直都能做到 对我们所做的任何项目都这样做。但是假设你无法孤立 它干净利落。如果你不得不撒上某些陈述怎么办? 在整个代码中自由地?将该要求放在元数据中,和 使用一些自动机制,例如Aspects(参见第39页)或Perl, 将必要的语句插入代码本身。
此处作者将Aspect Oriented Programming和Perl称为支持插入元数据的“自动机制”的工具。
在我看来,我设想了某种类型的运行时代码注入。 Perl如何允许插入元数据的“自动机制”?
答案 0 :(得分:2)
请跳至代码生成器部分。作者提供了许多处理输入文件以生成代码的示例,包括以下内容:
使用代码生成器进行融合环境的另一个例子是在同一个应用程序中使用不同的编程语言时。例如,为了进行通信,每个代码库将需要commondata结构,消息格式和字段名称中的一些信息。不要复制此信息,而是使用代码生成器。有时您可以从一种语言的源文件中解析信息,并使用它来生成第二语言的代码。但是,通常情况下,用更简单,语言中立的表示法表达它并生成两种语言的代码更简单,如下页图3.4所示。另请参阅第286页的练习13的答案,以获取如何将平面文件表示的解析与代码生成分开的示例。
练习13的答案是一组Perl程序,用于从公共输入文件生成C和Pascal数据结构。