我们正在设计一个新的SPA应用程序。最初,我们计划有三层申请 -
应用程序层(将提供网页,并将作为所有其他数据请求的代理)。
业务层(这将托管所有业务功能的WebAPI)。
数据库层(存储数据)。
由于此应用程序将是HTML5应用程序,我们是否可以绕过应用程序层进行数据请求,并直接从浏览器调用业务层?
我们可以看到的一个缺点是它会导致CORS请求 对于一些要求预检也将出现在图片中。这可能会减慢它的速度。
如果数据是通过组合来自外部服务命中的数据形成的,则此逻辑必须传递给浏览器。
你能否就这些问题提出建议?
由于
答案 0 :(得分:0)
层级取决于您的架构目标是什么,如果它的性能比较少的层/物理分离将导致更好的性能。但是,您可以使用其他技术来降低性能,例如缓存。
在这样的典型场景中。最好将层分成单独的物理层,例如UI层,API层和数据。如果你认真考虑,API也是一种用户界面。而不是提供页面,你正在提供数据(json)。
请记住,您的业务逻辑应该是可测试的,而不涉及任何其他层。
我认为正确的答案将始终取决于您的情况和架构目标,例如性能可扩展性,可靠性,易于更改。等等。
但你可以把它作为一般指导。