Webform, asp.net MVP, asp.net MVC 的异同

相同点:

1,都可以进行b/s项目的web开发。

2,都可分为三层,Webfrom(view,logic,access),MVP(view,model,Presenter),MVC(view,model,control)。

3,都支持html语言对视图进行展现,其中MVC中还支持多种视图引擎,比如aspx,cshtml,vbhtml等。

4,其中MVP是WebForm与MVC的变种,其中的Presenter借鉴了MVC中的Control,一般来说项目开发效率居于两者之间,

    WebForm>MVP>MVC。如果是小项目业务比较简单的话开发效率为MVC>WebForm>MVP因为MVC很多代码可以自动生成。

 

不同点:

1,MVP与MVC的视图层和业务层分离,而WebForm是直接绑定。

    其中MVP是使用接口中定义属性方法使用注入的方式实现松散耦合,而MVC是使用数据传递而非控件绑定的方式,

    比如ViewData,ViewModel等。

2,MVP与MVC的重用性比较好,而WebForm比较差。

    其中MVP的重用性是通过interface属性方法和接口方法来实现的一般来说还是限制在同一语言。

    而MVC的重用性是最高,可以跨视图引擎 因为它的业务层和视图层是通过数据传递联系的,因而耦合非常低。

    而WebForm一般的话是通过和空间绑定来实现视图的显示,因而耦合非常高。耦合高低:webfrom>MVP>MVC。

3,扩展性方面MVC应该最好,其中是MVP,WebFrom。

    首先MVC可以通过特征类来标识自己的业务类和方法,从而可以实现业务的低偶合绑定,

    其次MVC支持Filter和Intercepter,只需简单的扩展就可以实现自己的私有过滤和拦截,这些都是低耦合的业务处理的典型标识。

    然而MVP是interface级别的解耦,并且必须使用Interface来实现解耦,所以其扩展性大家可以很容易理解。

    最后说的是WebForm一般来说是实体类中方法或者接口的调用或绑定。因此扩展性高低:MVC>MVP>webfrom。

4,视图的复杂度:由于MVC引入了新的引擎机制,所以其视图制作效率增加不少。因此视图的复杂度:webfrom>MVP>MVC

5,MVC和MVP由于与视图耦合度低,所以更利于测试的进行,而事件驱动的Webform这点就做得比较差劲。

6,支持视图代码生成:MVC支持,MVP和webform不支持。

 

   

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值