了解MVC应用程序的体系结构

时间:2012-01-18 06:42:31

标签: asp.net-mvc-3 n-tier-architecture

有许多文章可用于解释MVC应用程序的体系结构设计,其中一些包含业务层,域层等。

我想知道每个&每个术语以及该层内的内容应该是什么?

  

Presentation.Web:MVC应用程序在这里发布业务。域名:   ??基础设施。数据:??

其他层应该是什么,以及如何使用它来创建MVC应用程序的理想架构?

3 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

我会尝试以技术中立的格式解释它:

mvc是模型,视图,控制器的缩写。

===========================================

模特不是走下楼梯的女孩/男孩炫耀时髦的衣服。 但它的对象包含有价值的属性(数据)

例如: 在RPG(角色扮演游戏)中,每个角色都有统计数据 健康,魔法,攻击,防御,逃避,准确等等。

这些属性在类中称为属性。 Character充当包含所有这些属性的类。

===========================================

现在,谈论视图, 视图是显示特定模型的内容。

例如: 我们有一个健康栏,显示总体健康状况和当前健康状况。

有些人可能有兴趣看到一个代表健康的心形 而不是红色吧。

开发人员开始创建另一个不同的视图,但仍然使用相同的模型。它在谈论可重用性!

您正在重复使用相同的模型以多种方式显示其属性!

============================================

对于控制器,它是定义业务逻辑的位置。 业务逻辑(或称为编码的“有趣”部分) 您可以在其中定义一些代码来操作属性 模型并将它们发送到视图。

例如: 所以让我们假设英雄完全健康, 敌人攻击他......

控制器(有权访问模型)操纵你的 通过收到的总伤害扣除当前健康状况来保持人格健康 来自敌人的攻击。<​​/ p>

当你的角色喝健康药水时, 控制器会增加你的角色当前健康状况。

==========================================

对于通讯部分, 操纵模型的控制器, 可以通知视图有关所做的更改, 以便视图显示您角色的最新更改。

或者

每当属性发生变化时,模型都会调度事件, 以及当前正在订阅模型的视图, 然后将采取必要的操作来使用当前更新视图 被操纵的财产。

您还可以查看此link

答案 2 :(得分:0)

以下可能会解释:

MVC架构

MVC架构的主要目的是将业务逻辑和应用程序数据与表示数据分离给用户。

以下是我们应该使用MVC设计模式的原因。

它们是可以恢复的:当问题再次出现时,不需要发明新的解决方案,我们只需要遵循模式并根据需要进行调整。 他们富有表现力:通过使用MVC设计模式,我们的应用程序变得更具表现力。

1)。模型:模型对象知道需要显示的所有数据。知道可以应用于转换该对象的所有操作的模型。它仅代表应用程序的数据。该模型表示企业数据和管理此数据的访问和更新的业务规则。模型不了解演示数据以及如何将数据显示到浏览器。

2)。视图:视图表示应用程序的表示。视图对象是指模型。它使用模型的查询方法来获取内容并呈现它。视图不依赖于应用程序逻辑。如果业务逻辑中有任何修改,它仍然相同。换句话说,我们可以说,当模型发生变化时,视图的责任是保持其呈现的一致性。

3)。控制器:每当用户发送某个请求时,它总是通过控制器。控制器负责拦截来自视图的请求并将其传递给模型以进行适当的操作。对数据执行操作后,控制器负责将适当的视图定向到用户。在GUI中,视图和控制器通常可以非常紧密地协同工作。

来源:http://www.roseindia.net/struts/mvc-architecture.shtml