在我工作的应用程序脚手架项目中,我试图决定是使用奥斯陆、T4还是CodeDom来生成代码。我们的目标是将依赖性保持在最低程度,并从用户故事中驱动域驱动设计的代码生成。第一步将是从用户故事中创建测试,但我们希望领域专家能够在各种不同的媒体(例如自定义应用程序、Word等)中编写他们的故事。仍然从故事中产生测试。
到目前为止我所知道的是:
使用上述任何一种工具,您的想法、经验等是什么?我们希望继续使用微软或开源工具。
发布于 2009-01-29 16:26:04
和T4一起走--很简单的决定。
发布于 2009-01-29 16:18:18
一般来说,我认为代码生成是一个完整的建模/编码故事的一部分。它应该伴随着一个通用的框架,其中大多数管道都是在这个框架内完成的。在我看来,生成巨大的类是没有用的,而拥有定义良好的扩展点或钩子的良好框架将更好地维护和扩展。
您需要为用户故事定义一些形式化语言,无论是XML还是奥斯陆域语言。奥斯陆将要求您的领域专家学习奥斯陆工具。您可以使用Word + XML。然后,使用嵌入的XML模式在Word中定义一个好看的模板,在编写完故事之后,您可以通过XSLT或Linq从形式化XML syntax.This XML中的Word中获得它。
CodeDOM功能强大,但相当麻烦。这是一个IMHO不容易使用的解决方案,它没有真正的模板支持。
我没有使用T4的经验,但它的模板特性是一个预。
奥斯陆产品确实很新,需要运行时环境.Net 4.0。它仍然只是一个CTP。这是一个非常强大的环境,尽管我对数据库生成的故事有些怀疑。
希望这能有所帮助。
发布于 2009-04-22 07:27:50
奥斯陆不符合这份名单。到目前为止,它还没有代码生成故事。所以要坚持使用T4。
https://stackoverflow.com/questions/491900
复制相似问题