在应用程序中封装不同的数据源

时间:2015-11-06 11:20:10

标签: oop encapsulation software-design business-logic

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

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

$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等。我被迫重写了许多代码行。

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

1 个答案:

答案 0 :(得分:0)

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