首页 / 知识
ASP.NET MVC与Web客户端软件工厂(WCSF)
2023-04-14 19:02:00

ASP.NET MVC vs. Web client software factory (WCSF)我最近一直在对不同类型的Model View架构进行一些调查,因此需要决定为将来的内部开发选择哪种架构。因为我目前在一家拥有ASP.NET技能的Microsoft商店中工作,看来我的选择介于ASP.NET MVC和WCSF之间(Monorail可能不适用,因为Microsoft不会支持它。) 在使用WCSF作为标准阅读ASP.NET MVC框架之后,我总结了以下几点:
还有哪些其他注意事项?
您应该将WCSF视为有关如何使用现有WebForms基础结构的指南,尤其是引入Model-View-Presenter来帮助实现关注点分离。它还增加了所得代码的可测试性。
如果可以以3.5 SP1为目标,则可以将新的"路由"系统与传统的WebForms站点一起使用。路由不限于MVC。例如,看一下动态数据(它也随3.5 SP1一起提供)。
这是正确的,因为它为HttpContext,HttpRequest,HttpResponse等使用了新的抽象类。与MVP模式相比,MVC模式在本质上没有什么可测试的。它们都是"分离表示"的实例,并且都提高了可测试性。
在Model-View-Presenter中,由于外界与视图进行交互(即,URL指向视图),因此视图自然会响应这些事件。通过调用演示者或提供演示者可以订阅的事件,它们应尽可能简单。 Model-View-Controller通过让外部世界与控制器交互来克服此限制。这意味着您对非表示事物的看法可能会很多。 至于您应该使用哪一种,我认为答案取决于哪种最适合您的项目目标。有时,WebForms和丰富的第三方控件供应商的可用性将是更可取的,并且在某些情况下,原始的简单性和细粒度的HTML控件将支持MVC。 不是开始一场火焰战争,而是我发现WCSF非常复杂。 MVC的优雅和简单性使MVP破灭,感觉就像是嫁接到Web表单上的图案。 经过完全相同的评估后,我们选择了WCSF。我们认为MVP模式为我们提供了更多选择,即能够使用服务器控件。我们的开发团队主要由来自C ++,Biztalk和Web等众多学科的程序员组成,但都主要专注于MS类型开发,因此采用模式的学习曲线对我们团队而言并不是那么重要。 我们对自己的选择感到非常满意。
这可能值得商bat,但是有文献表明,如果您的视图中包含逻辑,那么使用MVP设计模型比MVC设计模型更容易进行单元测试。总而言之,在MVP设计模型中,演示者正在处理可能由MVC设计模型中的View处理的工作。 MVC视图中可能包含的逻辑不便于单元测试。这是我阅读过的一些参考文献,涵盖了这个概念以及保持"视光"更好的原因,其中包括促进单元测试的许多原因。 http://martinfowler.com/eaaDev/uiArchs.html http://martinfowler.com/eaaDev/SupervisingPresenter.html http://martinfowler.com/eaaDev/PassiveScreen.html
MVC是一个简单得多的范例,它与所有其他框架进行Web开发的方式更为相似。 WebForms简直就是太多的麻烦和太多的抽象层来尝试实现简单性。 您可能还考虑了开发人员的背景(如果已经确定了背景)。 如果他们来自严格的asp.net背景,那么他们对WCSF会更满意(尽管以我的经验,他们花了几周的时间才真正对MVP感到满意)。 如果它们来自java / rails背景,或者以前曾经使用过其他MVC架构,那么显然它们会在那儿更快乐(以我的经验,除了MVC以外,其他任何事情都可以使人大笑)。 为什么不将两者都附在Northwind上,看看哪种最适合您和您的情况? |
最新内容
相关内容
linux架构快照命令?
linux架构快照命令?,工作,系统,地址,信息,命令,目录,状态,基础,管理,多地,Linux单独的ps命令作用是什么?Linux ps命令,英文全拼process statuslinux数据库选择命令?
linux数据库选择命令?,系统,地址,工作,软件,管理,信息,工具,基础,命令,服务,操作系统常用命令和linux常用命令怎么学首先打开linux操作系统在学编程为什么选择Python
学编程为什么选择Python,数据,人工智能,标准,代码,发展,工资,占比,项目,待遇,培训,人工智能的飞速发展推动使用Python编程语言的人越来越多,Pypython如何选择Python中的IDE?
python如何选择Python中的IDE?,工具,代码,平台,通用,培训,实时,最新,智能,工作,环境,在写Python代码时,最好的方式就是使用集成开发环境了,也就报名Python培训选择哪种方式比较好
报名Python培训选择哪种方式比较好?,培训,工作,基础,时间,情况,在线,最划算,环境,系统,方式,Python不仅是一种高级的编程语言,而且还是一种应用为什么要选择python?
为什么要选择python?,代码,工作,概念,设备,数据,宏观,年度,人工智能,教育,科技,作为新手,在面对广泛应用于企业级应用开发的Java、游戏客户端选择python与不选择的理由
选择python与不选择的理由,分析,系统,市场,时间,业务,培训,代码,语言,程序,解释性,为什么选择Python(优势)·Python是当前最流行的语言,因为它Python中选择结构是什么
Python中选择结构是什么,培训,语句,分支,结构,表达式,条件,以上,顺序,实例,逻辑,1、Python选择结构通过判断条件是否成立来决定分支的执行。2机器学习选择python的原因
机器学习选择python的原因,时间,生态,数据,平台,发展,系统,市场份额,大幅,设计,灵活,Python程序语言与机器学习实践可以称得上是“珠联璧合”python架构是什么?
python架构是什么?,管理,公司,名字,工具,网站,培训,框架,架构,数据库,全功能,python中的架构就是框架,这些框架可以让web应用的开发更轻松。这python如何选择python版本?
python如何选择python版本?,项目,代码,培训,名字,地方,系统,里面,版本,问题,变量,Python3.7已经发布了,目前Python的用户,主要使用的版本应该是python选择perl还是python
python选择perl还是python,代码,工具,培训,第三,大规模,初级,设计,时间,设备,网络,Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机