以下是我目前所知的在NET下应用的MVC框架:
NStruts
Maverick.NET
MaverickLite
Ingenious MVC
Websharp
哪个更优秀些呢?或者说,哪个应用更广泛呢?请你给个建议,大家也讨论一下。
sorry!没有陈述自己的观点就把问题抛到了首页。下次不敢了,咳咳
首先说下大家熟知的VS所见所得开发,VS本身为了方便程序员开发WEB应用
,也提供了类似开发CS的事件处理函数,即,双击表单上的按钮,自动生成处理事件的函数代码,这种所见所的的开发方式大大简化了Web表单编写JS的工作,程序员可以专注于事件函数以后的工作。虽然这种方式最总的效果也是页面与代码分离(asp标记库),但是个人认为,对于一个系统整体的架构并没有起到关键性的作用。
MVC最先出现在Java的web开发上,并且得到了广泛应用。他所发挥的作用现在可以说是毋庸置疑的。
如果将MVC引入NET中,VS的所见所得的特点将弱化,根据本人在Java上Struts的应用体会,就以Nstruts为例说起。首先,页面部分可以完全脱离asp标记库,回归原始的action=xxx。客户端提交都统一到一个控制器(ActionHandler)上,由他解析xml配置文件(nstruts.config)后,决定下一步分发,并且控制器还负责把表单信息影射成对象(bean),控制器完成这些初始化工作后,将执行进程交给实现了IAction的类,处理具体的业务逻辑。其中控制器分发的流向在nstruts.config中描述,因此通过此文件就可以摸清真个系统的脉络,方便系统整体把握。由于这也是一个成熟的框架,因此程序员可以专著的实现业务逻辑。而不用管nstruts具体是怎么分发工作的。
补充一点,Java上的struts和NStruts实现上有区别,Java上的Form Bean,在Net里没有了,好像合并到了IAction里了。实现起来较Java简化多了。不知道为什么要把Form去掉,并不是所有的Form Bean和实体Bean的属性都一一匹配的,通常的情况Form Bean的属性项要多于实体Bean。
因此我个人觉得在NET上如何使用MVC,以及对于VS的特点弱化,应该有个取舍。或者说是两者一个最佳的交叉点。因此才有了上面的疑问。不知道说清楚了没有。
上述是我对MVC在NET上的一点看法,望赐教!