我正在阅读 Taylor Otwell 的书,他建议使用存储库模式。我明白它背后的理论。切换实现和解耦代码很容易。我也得到了代码。能够App::bind()
与其他一些实现进行切换是非常好的。但在过去的两个小时里,我一直在思考我应该如何处理我正在构建的新 CRM。几乎还没有代码,但最终可能会很大。
我宁愿简单地使用通过控制器注入的雄辩模型和集合。如果我没记错的话,那应该让一切都可以测试...... 允许模拟等。
存储库模式是否可能为可扩展性提供任何好处?在需要更多服务器或资源的情况下..
为什么有人想要替换曾经承诺使用的 Eloquent ORM?我的意思是大多数项目都需要一个关系数据库。如果我要构建一个UserRepositoryInterface
和一个实现DbUserReponsitory
,我看不到我什么时候需要或想要用其他东西来切换它。这适用于我项目中的大多数实体(订单、公司、产品……)。也许用另一个 ORM 来代替 Eloquent?但我不认为自己会为这个项目做这件事。
还是我错过了什么?我主要关心的是拥有可读且易于测试的代码。到目前为止还没有真正测试得那么好:)