总体而言,我对编程还是很陌生的(真的才在2 1/2年前才开始编程),我正在尝试确定最好的方法是接近正在工作的Web应用程序。
工作中的一位高级开发人员鼓励我进入MVC,经过24小时的博客,源代码和其他有关该主题的 Material 的学习,我开始理解为什么要使用它。
但是,与此同时,我们公司现有的应用程序是用WebForms编写的,所以我不想做像使用实际的ASP.NET MVC框架制作我的应用程序那样的大胆的事情(虽然这真的会那么大吗?)。
我真正想知道的是,制作WebForms是否可行或什至可行,但仍然遵循关注点分离的MVC哲学。我真的会在已经很复杂的.aspx +代码隐藏页面中添加不必要的图层吗?
博客圈中的每个人似乎都认为,如果他们想进行MVC,则必须使用某种框架。 WebForms阻止了他们自己做的事情?
最佳答案
如果团队中的一位资深人士鼓励您研究应用程序的MVC,并且您认为这是一个好举动,那么就去做(如果该应用程序是独立的,尤其如此)。
您还可以查看MVVM模式。这是许多人对WebForms所做的事情,它与MVC模式非常相似。通过将MVVM模式应用于WebForms,您将展示如何仍然可以使用WebForms,但是获得ASP.Net MVC的MVC模式中的许多好处。这将是向团队中的其他开发人员展示一个很好的方法,可以在不完全放弃WebForms的情况下使WebForms更具SOC和可测试性。
这是MVVM上的更多链接:
http://weblogs.asp.net/craigshoemaker/archive/2009/11/03/vm-workshop-model-view-viewmodel-mvvm-and-the-presentation-model-pattern-in-5-ui-platforms.aspx
http://russelleast.wordpress.com/2008/08/09/overview-of-the-modelview-viewmodel-mvvm-pattern-and-data-binding/
MVVM在Silverlight应用程序中也非常受欢迎。
也有MVP模式。 Here's an open source implementation for WebForms。 DotNetNuke 5.3使用此特定实现。
A bit more explanation from MS on MVP and .Net
如果您想获得对代码的更多控制权,但仍然拥有喜欢的WebForms功能,并且/或者由于某些原因(例如在您遇到的情况下听起来像这样)而希望继续拥有WebForms功能,则这是一个不错的选择。使用它的旧代码。
关于.net - MVC原理应用于Web表单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3533561/