2012-04-23 1 views
1

Im на кривой обучения моделирования домена и картографов. Можно ли назвать другой модель внутри модели? Например:Вызывается картограф внутри модели ОК?

class model_project extends model { 
    [...] 
    public function addTag($tag) 
    { 
    $tagMapper = new Mapper_Tag; 
    $tag = $tagMapper->findByName($tag); 
    if(!$tag) { 
    // create new $tag 
    $tagMapper->save($tag); 
    } 
    } 
    [...] 
} 

Я имею в виду, это нормально, чтобы назвать некоторые функции сохранения на картограф, чтобы получить некоторые Войти работать на модели или это запрещено хорошей pratice?

+0

Вы имеете в виду? Мне не нравятся люди ... (jk) – Jasper

+0

А кто это делает? : –

ответ

3

Модель домена не должна знать о другой инфраструктуре, такой как mapper. Модель домена Te - это просто объекты, которые моделируют домен. Эти объекты создаются фабрикой или восстанавливаются репозиторием, как за пределами домена.

Модель домена не должна заботиться о сохранении или о других вещах, которые не имеют смысла в этом ограниченном контексте, где он принадлежит.

Смежные вопросы