【问题标题】:Javascript PHP N-Tier Architecture [closed]Javascript PHP N层架构[关闭]
【发布时间】:2012-11-30 21:11:03
【问题描述】:

我很困惑如何对我正在做的项目进行分类,如果它是 3 层还是 2 层。

基本上它是一个医疗服务系统,它使用 PHP 和 JS(使用 Jquery 和 Ajax);两者都用于业务逻辑。知识渊博的人告诉我,它是 3 层;我不知道为什么...也许是因为 HTML 被认为是表示层,PHP 更重要的是 JS 作为业务层,而 PHP(和 MySQL)是数据访问层?是这样吗?个人认为是2层。有人可以详细解释一下吗?非常感谢!

【问题讨论】:

  • 为什么重要?此外,这些术语的定义也不是特别明确,那么您为什么不直接制定/应用您自己的定义呢? en.wikipedia.org/wiki/3-tier_architecture
  • 那么您正在呈现数据,您有操作数据的业务逻辑,并且您有一个数据层?
  • 这很重要,因为架构是项目防御的一部分。我已经完成了我的作业,但我仍然在两者之间徘徊。是的,数据呈现(通过 HTML 和 JS)、业务逻辑(JS 和 PHP)和 PHP 用于数据层。但是这些层是如此相互连接,以至于它似乎只是 2 层 - 即客户端和服务器层。我应该如何最好地准确地说出来?好混乱
  • 连接太多,业务逻辑(由 PHP 和 JS 处理)将被翻译成由相同的脚本呈现(但可能在不同的方法或函数上)。这仍然可以被视为两个不同的层(业务和演示)吗?
  • php 不会持有业务逻辑吗?如果在浏览器中禁用 js,那么仍然会有 php 作为备份或事实上的业务逻辑层?

标签: php javascript html architecture n-tier-architecture


【解决方案1】:

没有达成一致的定义。我认为它是 2 层客户端-服务器。我猜有些人会争辩...

【讨论】:

  • 谢谢。它们究竟是什么层?客户端和服务器层?
【解决方案2】:

我认为层是指物理计算机,而不是软件层。所以 3 层架构可能是

1 - 数据库服务器 - mysql 或其他一些数据库软件

2 - 应用程序(Web)服务器,运行 php 或其他一些服务器端语言

3 - 客户端(解释 HTML 和 Javascript 的网络浏览器)

在两层架构中,数据库和应用服务器是相同的。

【讨论】:

  • 这不是让所有基于浏览器的系统都变成三层吗? (1) MySQL 用于数据库,(2) PHP 需要访问它,(3) 用于客户端的 JS 和 HTML?
  • 如果 MySQL 和 Apache/PHP 在同一台服务器上,这将使它们全部为两层,如果 MySQL 在单独的服务器上,则为三层。
  • 网络上似乎存在很多关于层是指硬件还是软件的混淆。例如,本文讨论的是软件层msdn.microsoft.com/en-us/library/windows/desktop/…(可能分布在也可能不分布在多个服务器上),而本文讨论的是硬件服务器codingthearchitecture.com/2012/07/20/…
  • 非常正确。我不会在项目文档中提及 n 层。我只是想我会在这里问它,看看人们要说什么;因为就像你提到的那样,关于这个话题有很多困惑。可能是因为“没有达成一致的定义”(acc. Maxim)。也赞成
  • 我记得有一次我们编写了 3 个 rier 应用程序,当时所有数据库请求都仅由存储过程调用。这是一个严格的规则,很多编程都是在 Oracle 的 PL/SQL 中完成的。然后 PHP 以 XML 格式呈现数据,然后我们的 Web 界面界面是 html/javascript,另一个团队再次使用 Java 开发应用程序,以便在 CD 上分发。这种情况将其称为 3 层是有道理的,因为我想整个逻辑是在 3 个不同的领域与独立团队进行编程的。
猜你喜欢
  • 2015-04-04
  • 2010-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-26
  • 1970-01-01
  • 2018-01-27
相关资源
最近更新 更多