Согласно этой статье hereЯ правильно использую объект домена?
Вы можете думать о них [Услуги] как «объекты домена высшего уровня», но вместо того, чтобы бизнес-логики, службы несут ответственность за взаимодействие между объектами домена и Картостроители. Эти структуры в конечном итоге создают «открытый» интерфейс для взаимодействия с бизнес-логикой домена. Вы можете избежать их, но в ущерб утечке некоторой логики домена в контроллеры.
Я читал на MVC, а Ive разбил M-часть на Службы, объекты домена и Data Mappers. Службы и карты данных легко понять, но я не понимаю причину для объектов домена, можете ли вы привести несколько примеров? Вот мой код:
MemberService
class MemberService extends Service
{
public function authenticate()
{
$domainObject = $this->domainObjectFactory->getDomainObject('Member');
$dataMapper = $this->databaseFactory->getMapper('Member');
$_temp_sess_id = 0;
$_temp_sess_password = "";
$member = $dataMapper->fetch($_temp_sess_id);
$authenticationResult = $domainObject->checkPassword($member['password'], $_temp_sess_password);
if (!$authenticationResult)
{
$member = ['user_id' => 0];
}
return $member;
}
}
MemberDomainObject
class MemberDomainObject extends DomainObject
{
public function checkPassword($dataMapperPassword, $locallyStoredPassword)
{
if ($dataMapperPassword !== $locallyStoredPassword)
return false;
return true;
}
}
UPDATE:
Этот вопрос касается метода checkPassword и почему его необходимо создать отдельный объект просто использовать оператор IF, который может быть использован внутри службы, вместо этого сохраняя ОЗУ с использованием дополнительных ресурсов для создания нового объекта.
Возможная Дубликат [Понимание объектов домена/службы] (HTTP://stackoverflow.com/questions/5589141/understanding-domain-objects-services) – Reloecc
в порядке, в нем говорится: «Объектами домена являются данные, а службы домена - это часть do-stuff-with-the-data». Так что я должен сделать все, если в разделе службы, а есть $ member, хранящийся в DO? –
также, в соответствии с этим ответом здесь: http://stackoverflow.com/questions/5863870/how-should-a-model-be-structured-in-mvc?lq=1, «Вы можете думать о них [Услуги] как «Объекты домена более высокого уровня», но вместо бизнес-логики Сервисы несут ответственность за взаимодействие между объектами домена и Mappers ». –