【问题标题】:Is our application a 2-tiers or 3-tiers architecture?我们的应用程序是 2 层还是 3 层架构?
【发布时间】:2019-08-28 16:38:46
【问题描述】:

一位软件开发顾问曾问我,我们的应用程序是 2 层还是 3 层架构。我用谷歌搜索了这两个术语,发现了相互矛盾的答案。

以下是我们的应用程序当前的结构:

  • 客户端的 Angularjs
  • 服务器端的 Node.js 代码
  • MongoDB 托管在 Atlas 上

node.js 代码通过 mongoose.connect 连接到数据库,所有 CRUD 操作(使用 mongoose)都写在一个单一的 crud 类中,我们从任何其他类/文件中调用这些方法。

但是,这个 CRUD 类文件与所有其他类在同一个项目中。

我读过上面可能被认为是 3 层,但我在其他地方读到第 3 层通常是“数据层”或“数据代码”,所以基本上后一层将是单独的进程/应用程序通常在另一台服务器上运行,它连接到数据库,并具有我们需要的所有 CRUD 方法,我们通过服务器到服务器的 Web api(来自“逻辑层”)调用这些 curd 方法'代码到'数据层'代码)

我对这些相互矛盾的意见感到有些困惑,你怎么看?我们目前的结构是 2 层还是 3 层?

【问题讨论】:

标签: node.js mongodb mongoose


【解决方案1】:

逻辑上是您的应用程序 2 层。从技术上讲,我也将其归类为 2 层结构。
简化:

  • 您有一个数据库。 (第一层)
  • 表示和业务逻辑在 Angular 中实现。 (第二层)。

这是一个假设,因为您没有解释,在 Angular 中实现了什么。但是 Node.js 似乎只是一个数据库包装器
如果您将在 Node.js 中执行业务逻辑,那么它将是一个 3 层架构。

【讨论】:

    猜你喜欢
    • 2020-12-09
    • 2019-10-22
    • 2015-06-27
    • 2010-12-09
    • 1970-01-01
    • 1970-01-01
    • 2019-03-07
    • 2020-05-16
    • 2011-07-30
    相关资源
    最近更新 更多