Repository - marmot-cn/marmot-framework GitHub Wiki

仓库

我们使用代理模式通过仓库对具体的适配器进行封装.

使用仓库隔离开具体的存储层, 对领域模型只有统一的仓库调用.

样例代码

仓库也会实现IMemberAdapter, 所以在领域模型视角来看, 他们都是一样的.

<?php
namespace Member\Repository\Member;

use Marmot\Framework\Classes\Repository;

use Member\Adapter\Member\MemberMockAdapter;
use Member\Adapter\Member\MemberDBAdapter;
use Member\Adapter\Member\IMemberAdapter;
use Member\Model\Member;

use Marmot\Core;

class MemberRepository extends Repository implements IMemberAdapter
{
    private $adapter;