针对不同模块或一体机分离应用程序

时间:2014-04-13 14:54:00

标签: node.js module sencha-touch-2

我正在建立一个应用程序,Sencha Touch和NodeJS作为后端。这个应用程序应该用于控制和报告城市公共交通的下落。我计划建造三个模块,一个用于乘客,一个用于驾驶员和一个管理模块。

我想的是,我应该在同一个应用程序中构建所有这些模块,并在登录时检查用户配置文件吗?或者我应该构建单独的应用程序(至少将一般用户模块与其他两个模块分开)以使其更安全。

如果乘客以某种方式访问​​任何其他模块,那显然会非常有害。

2 个答案:

答案 0 :(得分:0)

有3个不同模块的第一个原因就是你所指出的 - 安全性。

这样做的第二个原因是 - 如果其中一个服务失败 - 如同一个大型代码库将整个批次降低 - 如同3个不同的服务,66%的服务仍在工作。

第三个原因是KISS - 保持简单愚蠢 - 一个大的代码库更难以推理和建模。错误会影响整个代码库。添加功能成为服务之间的权衡。

通常我会说,不仅要将您的应用分成3个模块,而且要将此方法降低到更低的水平,并尝试将内容分成单个组件'尽可能多。

考虑一下木匠制作一张桌子(大多数软件开发人员正在做的是订购')。

木匠不会下载制作'库作为一个大型代码库。

他们首先使用'锯'看木头的计划。

然后打磨'程序,以平滑木材。

然后是' Hammer'将木材放在一起的程序 - 等等

注意每个步骤是一个工具如何完成一项工作。

第二天,木匠被要求做一把椅子 - 他们以不同的顺序使用相同的工具。

这是Unix Philosphy

答案 1 :(得分:0)

我想说将访问划分为不同的信息是一个应用程序层问题,我会将它全部构建到同一个node.js应用程序中。如果该类型的用户有权访问其请求的信息,则此应用应检查用户权限。