gpt4 book ai didi

design-patterns - 使用前端 Controller 模式的优缺点是什么?

转载 作者:行者123 更新时间:2023-12-03 12:23:21 25 4
gpt4 key购买 nike

我目前设计我所有的网站,每个页面都有一个文件,然后包括页眉、页脚等常见元素。但是,我注意到许多框架和 CMS 都使用 Front Controller 模式。

使用前端 Controller 的优点和缺点是什么?该模式是否只是在框架和 CMS 中使用,因为不知道最终系统中将存在哪些页面?

最佳答案

Srikanth 有一个很好的答案。不过,我想详细说明替代方案。假设您有这个简单的 URL 层次结构:

/画廊
/博客
/管理员/登录
/管理员/新帖

如果这是使用页面 Controller (例如 PHP)实现的,则 gallery.phpblog.php将需要包括一些 common.php在开始(或附近)。然而,两者 login.phpnewpost.php可能包括 admin-common.php ,它本身会引入“common.php”并执行“/admin/”特定的设置,例如验证用户是否已通过身份验证。

一般来说,如果您有一个 URL 层次结构,它最终看起来很像对象继承树。除了使用语言级继承之外,您正在继承任何 foo-common.php 的环境。你包括。

我无法想象前端 Controller 如何提高可测试性,最终,无论实现如何,都需要来自自动化 HTTP 用户代理的完全相同的测试。

Page Controllers 的一个主要缺点是它确实使您的 Web 应用程序依赖于其托管环境。它还迫使您的开发人员“看到”与最终用户相同的结构,但我认为这是一件好事,考虑到我看到的具有绝对恶劣 URL 的站点数量。

关于design-patterns - 使用前端 Controller 模式的优缺点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/536744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com