我应该将我的API组件与我的仪表板组件分开吗?

时间:2013-06-05 12:02:45

标签: php frameworks coding-style components laravel

我正在开始一个有点大的新项目。它将包含以下两个组件(其中包括):API和仪表板。客户端将使用仪表板导入和组织其数据,并使用API​​远程访问它。

基本上这两个组件将使用相同的模型类和服务,但会在它们之上构建不同的访问点。我的问题如下: 我是否应该(1)将两个组件构建为共享存储库和目录的同一项目的一部分,或者(2)在不同项目中构建它们并将模型共享为第三个组件?

  1. 应该更容易管理,因为一切都在一个地方。但是,我必须始终部署它们,并且实际上不会有很好的API服务器和Dashboard服务器。
  2. 另一方面,
  3. 允许我拥有不同职责的服务器,但我必须管理第三个组件。
  4. 最好的方法是什么?

    如果您有使用Laravel框架的经验,将如何实现不同的模块?

1 个答案:

答案 0 :(得分:1)

嗯,我没有laravel的经验,但是从Zend Framework 2开始有一段时间了。对于开发我使用域驱动设计+ MVC的approuch。

我的建议是使用第一种方法。

<强> 1。代码最好维护

如果你想改变一些东西,你只需要在一个地方改变一件事就可以了。不是所有的共享副本

<强> 2。服务器

您担心需要第二台服务器,因此您可以专门向服务器发送故障。除非您有非常重要的任务(比如每小时向客户发送数百万封邮件),否则您不必担心特定任务的专用服务器。

只需将负载均衡器放在服务器前面即可。这种方式当很多api调用进来但没有仪表板时,你仍然使用两个服务器,而不是1放松。

第3。保持

如果有第三个东西(仪表板,api,网站?),那么您可以轻松地使用当前代码库进行扩展而无需进行大量更改。

tl; dr我推荐第一个