【发布时间】:2009-10-31 15:49:27
【问题描述】:
我知道 MVC 框架允许您分离业务逻辑、数据库访问和表示,但是为什么我们需要一个框架来做到这一点。
难道我们不能让我们的类分开,也许对模型、视图和控制器类使用不同的包/文件夹吗?
【问题讨论】:
我知道 MVC 框架允许您分离业务逻辑、数据库访问和表示,但是为什么我们需要一个框架来做到这一点。
难道我们不能让我们的类分开,也许对模型、视图和控制器类使用不同的包/文件夹吗?
【问题讨论】:
在我看来,您所说的是 MVC 模式,而不是特定的框架。当然,您可以将所有类保留在一个项目中,并且仍然使用 MVC 模式,因为您在视图中拥有所有 UI 代码,在控制器中拥有逻辑......
另一方面,MVC 框架使您更容易使用这种模式。它可能会为控制器提供一些基类以及视图和控制器之间的通信机制。
不知道你是否熟悉 ASP.NET MVC。框架本身非常小,但它可以帮助您使用 MVC 模式开发应用程序,因为您不必考虑前面描述的领域...
希望对你有帮助
【讨论】:
MVC 框架是为拆分业务逻辑、数据库访问和表示而编写的框架。
这在大多数 Web 应用程序中都非常有用,最近也用于软件/桌面应用程序。
这是因为遵循 MVC 模型,您的代码会更加清晰、干净,并且您的应用程序会保持 DRY(不要重复自己)。
您可以编写自己的类并将它们分成模型、视图和控制。但同样,您将需要一个框架来帮助您完成某些任务。像 ASP.NET 中的 List 控件,或者能够帮助您在语言之间翻译文本的 PHP 框架等等。 (哦,为什么要重新发明轮子?!)
【讨论】:
MVC 和框架是不同的东西。 MVC 只是一种架构模式,可以应用于任何项目,无论是否有框架。
所以您不需要框架来执行此操作。您可以自己将它们分开。 :)
【讨论】:
MVC 代表“模型”“视图”“控制器”。 ASP.NET MVC 是一种以不同于传统 ASP.NET Web 开发的方式开发 ASP.NET Web 应用程序的体系结构。使用 ASP.NET MVC 开发的 Web 应用程序对 SEO(搜索引擎)更加友好。 开发 ASP.NET MVC 应用程序需要 Microsoft .NET Framework 3.5 或更高版本。
型号:
- MVC 模型基本上是一个 C# 或 VB.NET 类。
- 控制器和视图都可以访问模型。
- 模型可用于 将数据从控制器传递到视图。
- 视图可以使用模型来显示 页面中的数据。
查看:
- 视图是一个没有代码隐藏文件的 ASPX 页面。
- 所有页面特定的 HTML 生成和格式化都可以在视图内完成。
- 可以使用内联代码(服务器标签)开发动态页面。
- 只能从控制器的操作方法发出查看请求(ASPX 页面)
控制器:
- Controller 基本上是一个继承 system.mvc.controller 的 C# 或 VB.NET 类。
- 控制器是整个 MVC 架构的核心。
- 可以实现控制器内部的类操作方法,这些方法负责响应浏览器或调用视图。
- 控制器可以访问和使用模型类将数据传递给视图
- 控制器使用 ViewData 将任何数据传递给视图。
【讨论】:
MVC 是一种代码组织架构风格,用于以对 Web 应用程序有意义的方式组织代码逻辑。作为一名程序员,当我继承其他人的代码时,当他们的代码逻辑无处不在并且跟随他们的 Web 应用程序代码变成跟随一只兔子掉进阴沟洞时,我几乎呕吐了。为什么是 MVC?嗯.. 那么我为什么要使用文件柜或文件夹来整理我过多的文件,而不仅仅是把我的文件藏在一大堆里,让其他人弄清楚它们是如何相互连接的。它增加了代码的可读性。使用 MVC,遵循代码逻辑变得非常容易,因为您遵循 Web 应用程序的标准结构。业务逻辑与 UI 分离。更容易委派工作,解耦项目的工作。
【讨论】:
您当然可以通过隔离班级来自己解决问题。框架提供了您不必自己构建的通用脚手架。但它也会对你的代码强加一些结构。您必须评估该框架的帮助是否大于伤害。
【讨论】:
您是对的,您可以实施一些策略来帮助分离关注点,而无需使用 MVC。
Microsoft 的 ASP.NET MVC 框架是一种可以采用的策略,我认为这就是您要问的问题。 这个 MVC 框架使这种关注点分离变得容易。
MVC 的另一个主要优势是可测试性 -(取决于您是否相信单元测试 - 我相信)。
MVC 框架确保所有编排逻辑都在您的控制器上,并且通过 FormControls 集合允许对应用程序的所有方面进行完整的单元测试,除了它的呈现方式。
由于 MS MVC 框架鼓励遵守应用程序的通用规则和结构,这将带来更好的可维护性。
MVC 的主要缺点是演示所需的代码前代码编织,但这很容易克服。
【讨论】:
也许这只是语言问题。我见过“框架”将自己称为 DSL——领域特定语言。
而且你不需要框架但是这里有一些事情需要考虑:你已经知道对于一个网络应用你会想要做一些常见的事情......路由 URL,渲染页等。为什么要全部重写?对于其他问题领域,您也可以做一些通用的事情。
【讨论】:
海友 架构框架有很多种,首先我知道2层和3层框架,3层和mvc,实体框架相同但名称不同,所以学习一个好的背景因此,如果您去过任何跨国公司,您可以轻松地为您的雇主评分/突出显示建筑。
Model View Controller or MVC as it is popularly called, is a software design
pattern for developing web applications. A Model View Controller pattern is made
up of the following three parts:
**Model** - The lowest level of the pattern which is responsible for maintaining data.
**View** - This is responsible for displaying all or a portion of the data to the user.
**Controller** - Software Code that controls the interactions between the Model and View
【讨论】: