Ещё по CommandBus вопрос.
CommandBus после выполнения команды не должна же ничего возвращать? Как тогда узнать об успешном выполнении? К примеру о успешном выполнении входа? С помощью событий?
Найдено 87 результатов
- 2016.05.17, 16:19
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
- 2016.05.17, 15:05
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
http://yiiframework.ru/forum/viewtopic.php?f=19&t=36725&e=1&view=unread#p188512 по п.3: реализация базовая - нужно учесть, что есть ситуации, когда необходимо ресолвить и зависимости зависимостей. Можно же просто ProxyManager подключить (вы ссылку давали на github), там вроде ничего сло...
- 2016.05.17, 15:03
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
Если UserServiceInterface относится к Application, то что тогда может являться доменным сервисом на примере пользователя? сервис, имеющий значение для домена - генератор id, хэшер паролей, расчет комиссии - то, о чем знает домен, и что является непосредственной частью домена. UserServiceInterface -...
- 2016.05.17, 14:09
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
DTO к какому слою относится? Domain,App,Infrastructure? - domain - сущности, доменные сервисы, репозитории - infrastructure - реализации репозиториев - application - сервисы приложений, клей между presentation и domain. От presentation получаем dto, в domain передаем entity. dto относится к app. Т....
- 2016.05.17, 13:49
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
DTO к какому слою относится? Domain,App,Infrastructure? Т.к. UserServiceInterface относится к Domain, то и DTO относится к Domain (т.к. метод UserServiceInterface::registration($dto) - зависит от DTO UserRegistrationDto)? Или всё же в сервисах не использовать DTO(использовать обычные параметры UserS...
- 2016.05.17, 13:06
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
А что делать при такой слоёной архитектуре со входом, т.е. с Yii::$app->user->login()? На какой класс вешать IdentityInterface? Создать отдельный сервис UserAuthService? навскидку проблема не понятна, но вы всегда можете сделать адаптер, реализующий IdentityInterface, заполняющийся необходимыми дан...
- 2016.05.16, 15:21
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
Сделать класс который будет отвечать за хранение связанной модели. Т.е. class Value{ private $value; public function getValue(){ if($this->value===null){ //здесь бросаейэм евент и загружаем value } return $this->value; } public function User::getCity(){ return $this->city->getValue(); } Тему надо б...
- 2016.05.16, 11:20
- Форум: Общие вопросы (Yii 2.x)
- Тема: Проблема с префиксом таблиц
- Ответы: 10
- Просмотры: 4081
Re: Проблема с префиксом таблиц
public static function tableName()
{
return '{{%user}}';
}
так должно быть
{
return '{{%user}}';
}
так должно быть
- 2016.05.14, 16:52
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
Сделать класс который будет отвечать за хранение связанной модели. Т.е. class Value{ private $value; public function getValue(){ if($this->value===null){ //здесь бросаейэм евент и загружаем value } return $this->value; } public function User::getCity(){ return $this->city->getValue(); } Тему надо бы...
- 2016.05.14, 15:54
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
Если модели пользователь будет много связанных моделей, у которых в свою очередь тоже будут какие то связи, правильным ли будет грузить из БД сразу всё? Или в Condition добавить параметр With, аналог ActiveQuery::with() ? вопрос неоднозначный. Советовать что-то не буду - пробуйте сами. Надо как-то ...
- 2016.05.14, 12:03
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
ElisDN,zelenin вы встречали на github'e yii проекты со слоёной архитектурой, что бы можно было посмотреть и быстрее понять?
- 2016.05.13, 11:22
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
ElisDN, у вас в коде UserService есть код $user = User::requestSignup( $username, $email, $password, $this->passwordHasher, $this->authTokenizer, ); Нельзя код этого метода было вынести в сам UserService::registrationRequest()?...
- 2016.05.13, 11:14
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
Насчёт Condition для репозитория. Как правильно будет сделать если нужно будет найти пользователей по определённому городу? В Where передавать саму модель City или передавать её id? Если модели пользователь будет много связанных моделей, у которых в свою очередь тоже будут какие то связи, правильным...
- 2016.05.12, 20:32
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
А что делать при такой слоёной архитектуре со входом, т.е. с Yii::$app->user->login()? На какой класс вешать IdentityInterface?
Создать отдельный сервис UserAuthService?
Создать отдельный сервис UserAuthService?
- 2016.05.12, 15:54
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
в репозитории может быть много методов, но пусть они все работают через один главный findByCondition, который на вход получает объект Condition (limit, orderBy, where итд). можно сделать что-то типа $conditionBuilder (как queryBuilder в yii). Этот объект обрабатывайте в этом методе и формируйте ваш...
- 2016.05.12, 14:19
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
В репозитории UserRepository есть метод findAll(), который возвращает всех пользователей. Как правильно будет сделать, если нам нужно определённое кол-во записей? Создать метод findAllLimit($start,$end)? А если ещё кроме этого нужно будет искать по E-mail'y? Создать метод findByEmaillLimit($start,$e...
- 2016.05.12, 13:59
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
С репозиториями не много не понятно. По вашему совету, все методы для сохранения\добавления\обновления БД я вынес в репозиторий UserRepository. У модели User есть поле $city, которое содержит модель City. В репозитории UserRepository есть метод findById($id), который ищет пользователя по Id и заполн...
- 2016.05.12, 13:01
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
предлагаю так: public function actionTest() { $dto = UserRegistrationDto::createFromRequest(Yii::$app->request); if($this->userRegistrationValidator->validate($dto)) { $errors = new ValidationErrors(); $this->userRegistrationService->registrate($dto); } else { $errors = $this->userRegis...
- 2016.05.12, 12:20
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
UserRegistrationResponse это DTO и его будет возвращать UserService::registrate(), верно?zelenin писал(а):во вьюшку спускать UserRegistrationResponse с dto и errors
Код: Выделить всё
<?php
class UserRegistrationResponse{
public $success;
public $errors;
}
- 2016.05.12, 12:01
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90347
Re: Сервисный слой, как правильно?
Не избыточным будет интерфейс для валидатора? ну если подумать, что можно будет написать расширенный валидатор и переопределить его, то интерфейс имеет смысл. Как мне в таком случае получить ошибки валидации что бы отобразить где то? if($this->userRegistrationValidator->validate($dto)){ ...