jjzjj

php - 什么更好 : Developing a Web project in MVC or N -Tier Architecture?

coder 2024-01-04 原文

我以前问过类似的问题,也得到了令人信服的答案?

What is difference of developing a website in MVC and 3-Tier or N-tier architecture?

由于这个问题的结论,我开始在 N 层架构中开发项目。

大约一个小时前,我问了另一个问题,关于创建界面的最佳设计模式是什么?投票最多的答案是建议我使用 MVC 架构。

What is the best design pattern to design the interface of an WebPage?

现在我很困惑,第一篇文章告诉我两者相似,只是在 N 层中不同,层在物理和逻辑上是分开的,一层可以访问它上面和下面的层,但不能访问所有层.

我认为 ASP.net 在开发应用程序或 Web 应用程序时使用了 3 层架构。 Zend、Symphony 等框架使用 MVC。

我只想坚持一种最适合 WebProject 开发的模式?可能这是一个非常愚蠢的混淆?但是,如果有人能够消除这种困惑,那就太好了?

最佳答案

它们并不相互排斥。模型- View - Controller 模式实际上是一种用户界面设计模式,它关注的是逻辑层而不是物理层。

我经常听到“n 层架构”用于描述应用层的实际物理分离。例如,用户界面在一个进程中运行的系统与在另一个进程(可能在另一台服务器上)中执行的应用层交换数据(可能通过消息传递或 Web 服务),后者又访问运行的数据层在另一个进程中(通常是数据库服务器)。

这种描述可能特别令人困惑,因为“应用程序逻辑”可能意味着多种含义:在 n 层系统中,它通常意味着业务逻辑 - 而不是用户界面逻辑(例如当用户选择特定复选框时启用哪些小部件)。

例如,在 n 层系统中,您的表示层可能会调用接受项目 ID 的网络服务方法。 Web 服务在不同的服务器上运行,在其中执行复杂的计算并返回价格。

在更简单的架构中,您的应用程序可能会在与用户界面相同的过程中计算商品价格 - 尽管定价逻辑可能会被分离到它自己的逻辑层(可能在库或可执行文件中) .

我想不出任何当前的 MVC 框架会关心它们的层是否在单独的物理进程中运行。

关于php - 什么更好 : Developing a Web project in MVC or N -Tier Architecture?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2930992/

有关php - 什么更好 : Developing a Web project in MVC or N -Tier Architecture?的更多相关文章

随机推荐