在我正在使用的应用程序脚手架项目中,我正在尝试决定是否使用Oslo,T4或CodeDom来生成代码.我们的目标是将依赖关系降至最低,并从用户故事中为域驱动设计驱动代码生成.第一步是从用户故事创建测试,但我们希望领域专家能够在各种不同的媒体(例如自定义应用程序,Word等)中编写他们的故事,并且仍然可以从故事.
到目前为止我所知道的:
CodeDom需要.NET,但只能输出.NET类文件(例如.cs,.vb).难度水平相当高.
T4需要CodeDom和VS Standard +.难度级别相当合理,尤其是T4工具箱.
奥斯陆很新.我不知道依赖项,但我想你必须至少使用.NET 3.5.我也不确定代码生成能力或添加新语法的复杂性.但是,领域专家可能很容易在Intellipad中编写用户故事.还不确定将Word中的故事转换为MGrammar的简易性.
您使用上述任何工具有什么想法,经验等等.我们希望坚持使用Microsoft或开源工具.
与T4一起 - 轻松决定.
奥斯陆太新了,而且这些工具太过于原始而不仅仅是一种仅使用eval的技术
CodeDOM非常强大,如果您需要在运行时生成CLR类,并且愿意牺牲对生成的输出的简单修改.
T4(使用T4工具包)是一个易于使用的通用代码生成工具.到目前为止,我遇到的困难只是构建时集成.