代沟

通过继承将生成的代码与非生成的代码分离。

代码生成的一个难点是生成的代码和手写的代码需要以不同的方式处理。生成的代码永远不应该手动编辑,否则你无法安全地重新生成它。

代沟是关于通过将它们放在不同的类中(通过继承链接)来保持生成的代码和手写的代码分离。

这种模式最早由已故的 John Vlissides 描述。在他的描述中,手写的类是生成类的子类。我的描述略有不同,基于我所见的使用情况;我真的很希望能够和他讨论一下。

有关更多详细信息,请参阅 DSL 书籍第 57 章

DSL 目录