在我正在处理的应用程序脚手架项目中,我试图决定是否使用Oslo、T4或CodeDom来生成代码。我们的目标是将依赖关系保持在最低限度,并根据用户故事为领域驱动设计驱动代码生成。第一步是从用户故事创建测试,但我们希望领域专家能够在各种不同的媒体(例如自定义应用程序、Word 等)中编写他们的故事,并且仍然从用户故事生成测试故事。
到目前为止我所知道的:
- CodeDom 需要 .NET 但只能输出 .NET 类文件(例如 .cs、.vb)。难度级别相当高。
- T4 需要 CodeDom 和 VS Standard+。难度级别相当合理,尤其是使用T4 Toolbox时。
- 奥斯陆很新。我不知道依赖关系,但我想你必须至少在 .NET 3.5 上。我也不确定代码生成能力或添加新语法的复杂性。但是,领域专家可能很容易在 Intellipad 中编写用户故事。也不确定将 Word 中的故事转换为 MGrammar 的难易程度。
您对上述任何工具有什么想法、经验等。我们希望坚持使用 Microsoft 或开源工具。