node.js - 资源依赖于另一个的架构问题
问题描述
我目前正在使用 node.js 堆栈构建应用程序,但遇到了问题。
假设我正在构建一个银行应用程序。
我有称为用户的模型,然后是业务、帐户和转移。
用户代表登录信息和电子邮件。
如果用户不是业务客户,则用户将只有 User 表及其称为“个人”的子表。
业务代表任何基于组织的客户。这有称为 Corporation、NGO 的子表。
这是因为每个实体所需的文件都是唯一的。
我有一种称为 Account 表的中间层,它同时引用组织和用户,因为所有客户都应该有其唯一的实体。
因此,每次客户进行转账时,转账都会从 Account 表中取出。(转帐表将有帐户 ID)。
问题是,APP UI 基本上只有 2 个页面。一个是“客户”,另一个是“转让”。
问题是客户 UI 填充来自用户、组织、帐户的信息。转移 UI 填充来自用户、组织、帐户、转移的信息。
这导致四个表之间不可避免的依赖关系,创建意大利面条代码。
我解决这个问题的方法是创建某种虚拟层(源代码),创建客户服务和转移任务服务。
这些层没有自己的表(或模型),但有点像将不同模型合并为一个的界面。
为了说明这个模型,请看下面。
User
Transfer. <------ Customer <------ Controller
Organization. Transfer Tasks
Account
我意识到这个模型的问题是,这不仅违反了“restful” API 的规则,而且随着应用程序的增长,复杂性水平呈指数级增长。例如,如果有另一个名为 Organization 的 UI 级别组件仅填充来自组织表本身的数据怎么办?
然后控制器不仅调用它的第一层,客户或任务,还调用位于第二层的组织服务。
我的问题是,你认为我在这里有什么替代解决方案吗?
请指教。
解决方案
推荐阅读
- sql - wordpress 中的查询监视器显示查询缓慢
- python - Matplotlib 的颜色条
- python - 为什么名为“right”的列表保持不变?
- unity3d - 从 Unity 着色器图中获取/设置时间值
- python - 在 Python 中查找共同朋友的数量
- powershell - 命令“Get-WindowsCapability -Online”没有列出所有语言和组件,我怎样才能列出所有?
- text-to-speech - 为什么 SpeechSynthesisUtterance 不能在 Chrome 上运行
- c++ - c++中的多态——通过指针访问函数
- javascript - 使用 base64 了解文件或图像的大小
- wordpress - 通过另一门课程并获得一定结果后,我可以自动注册用户到 LearnDash 课程吗?