我是一名学生,但希望很快能进入软件行业。关于MVC软件模式,似乎有很多炒作。我注意到PHP框架通常是MVC,那么非Web语言又如何呢?对于我的硕士论文(C ++),我选择了MVC模式,因为它很好地将逻辑和用户界面分开了。
在工业上使用很多吗?如果是这样,主要原因是什么?还有哪些其他竞争性的流行设计?
我是一名学生,但希望很快能进入软件行业。关于MVC软件模式,似乎有很多炒作。我注意到PHP框架通常是MVC,那么非Web语言又如何呢?对于我的硕士论文(C ++),我选择了MVC模式,因为它很好地将逻辑和用户界面分开了。
在工业上使用很多吗?如果是这样,主要原因是什么?还有哪些其他竞争性的流行设计?
Answers:
是的,它经常使用。iPhone / iPad应用程序都设置为MVC。最近,我看过很多asp.net MVC应用程序。
MVC可以提供更大的灵活性,并真正鼓励开发人员为每个功能编写单独的代码。使维护更加容易。
目前正在流行。
永远不要低估炒作的力量。很快,有人会提出一些更新,更新颖,更易于理解的东西,每个人都将MVC视为一切邪恶的根源(发生在Web表单上),或者会有太多人使用它,以至于资深的老手们将其谴责为“管理公牛* * ”(发生在XML上)。否则将转向其他模式,因为MVC“对于我需要解决的超难问题还不够灵活”(静态类型语言与动态语言)。
归根结底,MVC是一种框架方法,适用于Web编程引发的许多问题。它会存在一段时间,但我想大多数人使用它的原因是要符合流行语。
编辑
请注意:我很清楚MVC模式已经存在多年了,并且已经在asp.net MVC之前的框架上使用。我只是说目前很流行,因此它比其他方法更具吸引力。我将MVC用于我的所有个人项目,并且也一直在商业项目中使用它(我是.net开发人员)。
这不是咆哮。
根据我的经验,它没有得到应有的使用。与某些替代方案相比,它是一种更好的模型,但是在最近几年中,它只是获得了很多宣传。因此,存在很多遗留问题,人们害怕转换为MVC或害怕将MVC用于将来的工作,因为它不在他们的舒适范围内。
由于.NET在行业中被广泛使用,因此ASP.NET MVC在Web应用程序中赢得了很多关注。
Microsoft Web应用程序从经典ASP演变为基于Web窗体的ASP.NET(以使VB6 Win Forms开发人员已经可以轻松地将其技能转换为Web的新领域)。
不幸的是,Web表单是基于状态的,而HTTP(基于Web的表单)是无状态的,因此由于需要诸如视图状态之类的东西,因此存在许多讨厌的解决方法。
ASP.NET MVC允许将WebForms开发人员的技能转换为具有良好SoC并已投入大量精力进行可测试的Web框架(由于WebForms并不是非常可测试的,因此MVC团队投入了大量精力努力进入框架)。
就是说,这不是万能药/银子弹,并且像任何框架一样,有很多时候使用它,有些时候不使用它。希望人们毕竟不会使用它来尝试解决所有问题:当您唯一的工具是锤子时,每个问题都像钉子。
这只是历史上的片刻,因为MVC是几个非常非常简单的概念,而恰好是从几个特定的框架中大肆宣传的,这些框架在其营销资料中都突出体现了它。它还碰巧吸收了软件开发中出现的许多良好实践。这适用于伪状态开发(例如HTTP);如此之多,以至于我只知道Web世界中使用的另一种真正不同的“模式”-千差万别的ASP.Net WebForms基于事件的模型。
老实说,我很惊讶这里有足够的论文。
但是要回答你的问题。WebForms是Web-pie的一小部分,主要在Intranet业务应用程序中使用。没有实际模式的意大利面条编码页面可能构成了相当数量的维恩图,但是几乎所有框架结构都至少受到MVC的影响,因此您的简短回答将是肯定的。