【问题标题】:Encapsulate different data sources in an application在一个应用程序中封装不同的数据源
【发布时间】:2016-02-07 12:47:23
【问题描述】:

我有电子商务网站。它基于 Kohana php。我的业务面临新的挑战,我正试图将我的单体架构分解成小部分。

现在我将 mysql 数据库作为唯一的数据源,并通过 ORM 或 DB 查询在我的应用程序中访问它:

$product = ORM::factory('Product', $id_product);
$products = ORM::factory('Product')->where()->find_all()
$products = DB::query(Database::SELECT, "{my complex query}"->as_object('Product')->execute();

当我决定迁移到其他数据源时出现问题:API、Mongodb 等。我不得不重写我的许多代码行。

我在软件开发知识方面存在差距,我需要一些提示,以及如何在应用程序中封装不同数据源的最佳实践。

【问题讨论】:

    标签: oop encapsulation software-design business-logic


    【解决方案1】:

    使用adapterfactory method 模式封装您的数据源交互。确保您有适配器的模拟实现,以便您可以在没有实际数据库的情况下测试交互。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-19
      • 1970-01-01
      • 2011-08-04
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多