我们的应用程序是2层还是3层架构?

时间:2019-08-28 16:38:46

标签: node.js mongodb mongoose

软件开发顾问问我,我们的应用程序是2层还是3层体系结构。我用谷歌搜索了这两个词,并找到了矛盾的答案。

因此,这是我们当前应用程序的结构:

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

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

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

我已经阅读了上面的内容,可以将其视为3层,但我在其他地方也了解到,第3层通常是“数据层”或“数据代码”,因此基本上后一层是通常在另一台服务器上运行的独立进程/应用程序,它是连接到数据库的进程/应用程序,并具有我们需要的所有CRUD方法,我们通过服务器到服务器的Web API(称为“逻辑层”)调用这些curd方法'代码转换为'数据层'代码)

矛盾的观点让我有些困惑,那么您怎么看?我们当前的结构是2层还是3层?

1 个答案:

答案 0 :(得分:0)

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

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

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