DSL 和表单创建
我目前正在研究一个项目的要求/范围,可能涉及:
1) 5至6种形式
2) 表格中有 250 到 300 个问题/字段
3) 2 到 3 个工作流程
是否有任何 .NET 或跨平台工具可以让我将开发表单的责任重新交给非技术业务分析师? 有没有什么好的 DSL 可以做到这一点? 我认为此人尝试使用 InfoPath 来实现此目的不会会成功。
我想我正在寻找一种 DSL,可以在运行时通过引擎来显示 CRUD 屏幕。 如果已经有类似的东西,我宁愿不使用自己的 XML 或 DSL。
我想将表单显示为 ASP.NET WebForm 或 ASP.NET MVC 应用程序的一部分。
I'm currently working on the requirements/scoping of a project now that could involve:
1) 5 to 6 forms
2) with 250 to 300 questions/fields accross the forms
3) 2 to 3 workflows
Are there any .NET or cross-platform tools that will allow me to put the responsibility of developing the forms back onto a non-technical Business Analyst? Are there any good DSLs for this? I think this person would NOT be sucessful at trying to use InfoPath for this.
I guess I'm looking for a DSL that I could put through an engine at runtime to display the CRUD screens. I'd rather not use my own XML or DSL if there is something like this already out there.
I'm thinking I would display the forms as part of an ASP.NET WebForm or ASP.NET MVC application.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我对 DSL 的预感是,任何足够强大、足以解决您所确定的任务的语言对于您的非技术业务分析师来说都太复杂了。
也就是说,对于高度受限的问题域(正如我认为您正在讨论的那样),应该有可能提出一个相对有用的 DSL。
事实上,这是 Ruby On Rails 的起始前提。
我目前偏向于内部 DSL/语言专业化 即:作为另一种语言的一部分嵌入的 DSL。 这可能意味着在您的 .net 应用程序中嵌入 IronRuby 或 IronPython。
虽然这确实让您摆脱了为自己的自定义语言编写编译器/解释器的问题,但它确实意味着需要在嵌入式语言中编写 DSL 进行一些前期工作。
根据经验,我想说,与内置文档、文档编写支持以及所有其他免费出现的语言功能的好处相比,这只是小菜一碟。
My hunch for your DSL is that any language sufficiently powerful enough to solve the tasks you have identified will be too complicated for your non-technical business analyst.
That said, for a highly constrained problem domain, (as I think you are heading), it should be possible to come up with a relatively useful DSL.
Indeed, this is the starting premise for Ruby On Rails.
My current bias is towards internal DSLs/language specialization that is: DSLs embedded as part of another language. This may mean embedding IronRuby or IronPython in your .net application.
Whilst this does get you out of the problems of writing a compiler/interpretter for your own custom language, it does mean some up front work writing the DSL in the embedded language.
From experience, I would say that this was small potatoes compared to the benefits of built in documentation, documentation writing support, and all the other language features that appear for free.