所以我即将开始为我的体育俱乐部开展一个小型项目进行会员注册,我正在尝试在WebForms或MVC之间做出决定.
Allit将是一个用户登录和数据捕获表单(或数据检索),所以我最初用FBA思考WebForms但是我想要暂时玩MVC并且我想它不会是选择太糟糕了.
但是并没有真正掌握MVC的知识,我不知道它是不是错误的适合.
那么,判断WebForms或MVC是否是正确选择的好方法是什么?
这是一个关键的生产级应用程序还是小型一次性应用程序?你能否处理MVC学习曲线所需的额外时间,或者你需要立即完成它吗?如果MVC无法解决问题,你可以放弃整个事情并重新开始吗?在开发过程中,您是否愿意更改平台(现在测试版可能不多)?是否有另一个项目不太重要,你可以使用MVC来学习它.
根据您回答这些问题的方式,在这个项目上学习MVC可能是值得的.就个人而言,我认为这是一个更好的架构,但在这一点上是一个不太成熟的技术.它肯定增加了我的Web代码的可测试性.我希望在未来一年左右的时间内将我的所有发展都朝着这个方向发展,尽管我怀疑我是否会改变我已经开发了一段时间的任何项目.我刚刚在MVC开始了我的第一个新项目.我不愿意承诺,直到它进入测试版,我认为它将在我完成项目之前投入生产.
我其实非常喜欢WebControls方法.很多人都说"在进行MVC时,单元测试更容易".首先,无论如何,您应该使用什么类型的方法来清晰地分离Business Logic和UI层.如果您这样做,那么无论您使用哪种方法,都可以对您的业务逻辑进行单元测试.当然它可能更容易并且与MVC一起"开箱即用",但它不是一些魔法银弹,这是通往罗马的唯一道路......
其次,您可以使用WatiN,这使得您的应用程序可以以远远优于传统单元测试的方式进行测试.(注意我并不是说它应该取代单元测试,但除了单元测试之外,它还会带你以前无法获得的安全级别)
第三,网络是无国籍的.这是因为HTTP是完全无状态的协议.这正是使网络美观的原因,但同时也很难开发应用程序.WebControls方法主要通过使用ViewState等概念来完全解决这个问题.这在进行应用程序开发时消除了很多麻烦.看看这个Ajax Calendar样本,在任何其他范例中使用相同(少量)的代码然后WebControls(免责声明;我自己使用Ra-Ajax)几乎无法实现
现在看看Stacked(免责声明; ......我也和BTW一起工作)然后意识到我到目前为止花了不到3天的时间来开发你在那里看到的东西.也许有人可以用MVC达到最高成就,但我怀疑......
我认为WebControl范例非常漂亮.当然它缺乏一些观点,但猜猜是什么,一切都是如此.编程中作为艺术形式存在的唯一"银弹"是没有任何银弹.
说到这里,我知道除了基于WebControl的Ajax库之外,Grurrah还在使用Castle Project的MVC层.因此混合WebControls 和 MVC可能很困难,但肯定不是不可能的......
我认为MVC已经获得了很多"当之无愧"的炒作,但不幸的是,在这个过程中也有很多不应当的炒作......!:(
弥补你自己的想法,不要听MVC传道者试图说服你,他们已经找到了"银弹"来为网络编程.而且更多,不要相信我!我也有议程(通过Ra-Ajax)
让你自己的想法.询问某人是否应该做MVC就像是在问我应该吃苹果还是橘子......你唯一能得到的好回答是; "这取决于"...