Yok

苦海无涯,回头是岸啊

MonoRail FAQ

MonoRail的文档已经比较全面,我再写教程似乎是重复劳动了。所以这里以FAQ的形式把我的心得分享出来

  • MonoRail稳定吗?
    稳定。不然我早被老板炒了:)
  • MonoRail易学吗?
    容易。不然我还是会被炒的。对一个了解xhtml和js的程序员来说,它比webform还要简单,一般一周内就能熟悉了。遗憾的是相当一部分程序员对web客户端技术嗤之以鼻 ,所以在用人方面比webform要求要高
  • MonoRail会比Webform慢吗?
    不会。MonoRail的Controller,Action调用和参数绑定都是通过反射完成,而且其中nvelocity模板还是解释执行。尽管如此,MonoRail性能还是跟webform不相上下(视乎具体情况而定,界面越复杂MonoRail越显性能优势)。因为webform控件的结构和生命周期太复杂,viewstate更是性能杀手。如果使用编译执行的brail模板引擎,性能还会进一步提高
  • MonoRail不能用webform控件,是不是倒退回asp时代了?
    不是。asp是很恶心的,代码跟界面混合在一起;MonoRail实现了MVC模式,模板虽然有if,有foreach,但是这是属于“表现逻辑”,界面和业务逻辑是能很好的分离的。而且在表现层后面,它还有强大的.net framework支撑,还可以配合windsor,各种facility和orm,让你分离关注点,轻松并专注的完成各种任务。至于界面复用这方面,可以使用ViewComponent和Helper
  • NVelocity模板里怎样访问索引器?
    vtl不支持索引器,但是索引器其实是c#内部对get_Item(index)和set_Item(index)这对方法的包装,所以$myList.get_Item(1)这样就可以了
  • parse,Helper和ViewComponent都可以实现界面的复用,怎样在他们之间进行选择?
    parse是实现模板嵌套的手段,Helper是被设计为通过方法调用返回视图片段的类,ViewComponent则复杂的多,有自己的后台逻辑和视图模板文件,并且可以跟Windsor集成。所以parse适合用来复用静态(或只引用了公用的变量,例如当前登录的用户名)的内容,Helper适合用来处理表现逻辑,而涉及到业务逻辑的地方应该使用ViewComponent
  • MonoRail怎样实现Ajax?
    严格来说这个与MonoRail无关,只是MonoRail提供了AjaxHelper,而我一般直接使用prototype的Ajax相关功能。Ajax无非就是通过javascript往服务端发送请求,或返回数据,或返回html片段,用MonoRail处理Ajax请求的开发体验跟处理普通页面是完全一致的,所以在你熟悉javascript的前提下,做Ajax开发不需要额外的学习成本
  • MonoRail可以用页面缓存吗?
    目前release的版本没有缓存功能,但是svn上的版本早就有了,只需加一个attribute:
    http://svn.castleproject.org:8080/svn/castle/trunk/MonoRail/Castle.MonoRail.Framework/Attributes/CacheAttribute.cs
    在用旧版MonoRail的朋友可以用我写的facility:
    http://www.cnblogs.com/Yok/archive/2007/01/23/627269.html

不了解MonoRail的朋友请看我的MonoRail专栏

posted on 2007-09-14 15:49  Yok  阅读(3475)  评论(14编辑  收藏  举报

导航