我正处于系统设计的初期阶段,该系统实际上将分为两部分。一个部分是服务,另一部分是与服务的接口,该接口通过OData或XML之类的数据提供数据。该应用程序将基于MVC架构模式。对于视图,我们正在考虑在ASP.NET下使用XSLT或Razor。
XSLT或Razor将有助于分离关注点,其中原始XML或响应表示您的模型,XSLT或“ Razor视图”表示您的视图。在本示例中,我将省略控制器。最初的设计建议建议使用XSLT,但是我建议使用Razor作为更友好的视图引擎。
这些是我建议使用Razor(C#)的原因:
- 更易于使用和构建更复杂的页面。
- 可以轻松产生非* ML输出,例如csv,txt,fdf
- 不太冗长的模板
- 视图模型是强类型的,其中XSLT需要依赖约定,例如布尔值或日期值
- 标记更易于访问,例如nbsp,换行符标准化,服装值标准化,空白规则
- 内置的HTML帮助程序可以基于DTO属性生成JS验证代码
- 内置的HTML帮助程序可以生成操作的链接
对于剃须刀而言,XSLT的论点是:
- XSLT是一个标准,并且在将来仍会存在很多年。
- 很难不小心将逻辑移到视图中
- 对于非程序员更轻松(我不同意)。
- 在我们过去的一些项目中,它是成功的。
- 数据值默认为HTML编码
- 始终保持良好状态
因此,我正在寻找双方的观点,建议或做出类似选择的经验?