2012-06-20 129 views
2

我现在正在学习MVC体系结构,而且我很困惑MVC与n-tire体系结构。MVC可以取代n层体系结构还是它是n层体系结构的一部分

我见过一些说法你可以直接使用MVC代替n-tire(3-tire)体系结构,其中View代表UI轮胎,Controller代表Business或Logic Tyre,Model代表数据访问轮胎。

还有人说,只有UI轮胎的三轮架构将被MVC取代。如果是这样,那么我们是否必须在模型和逻辑轮胎中复制域对象?

以上两种方法哪一种是正确的或者都是可以根据需要使用的?

回答

2

MVC和N-Tier是互补的。您可以同时使用它们。在这种情况下,MVC将替换UI层。 N层描述物理结构,而MVC是设计模式。

一个很好的例子可能是拥有一个MVC应用程序(UI),与连接到不同数据源(DA)的web服务(服务&业务)进行通信。这里MVC将允许更广泛的,可重用的视图和优化的UI层。

但是MVC并不能取代N-Tier。

我希望有帮助!

+0

嗨,所以你说的是,我们可以在UI层上有MVC,然后像分层体系结构一样具有域和数据访问等其他层。 – Thanushka

+0

是的,这正是我所说的。 –

+0

那么我们必须复制模型中的域对象吗? – Thanushka

1

MVC比传统的n层架构有很多好处。这是动态的,对团队工作很有帮助。设计人员不需要担心编码方面的问题,而编码人员可以继续工作而不用担心设计。

0

这些是完全不同的模式。

N层是关于应用层的物理分离,所以你可以例如换出你的DAL,或者添加另一个前端。

MVC另一方面与用户和应用程序之间的交互有关。