Используйте интерфейс ActiveRecord (populate, beforeSave(), afterSave()) для сохранения БД
Используйте интерфейс репозитория для сохранения и восстановление сущностей.
Найден 3121 результат
- 2016.07.30, 14:51
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисы и репозитории. Слоистая архитектура. Примеры.
- Ответы: 92
- Просмотры: 47954
- 2016.07.29, 02:22
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисы и репозитории. Слоистая архитектура. Примеры.
- Ответы: 92
- Просмотры: 47954
Re: Сервисы и репозитории. Слоистая архитектура. Примеры.
Тот же разработчик может использовать все что угодно не там где нужно, например мапперы в сервисах или в контролере.
Проблема выдуманная.
Проблема выдуманная.
- 2016.07.28, 21:08
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисы и репозитории. Слоистая архитектура. Примеры.
- Ответы: 92
- Просмотры: 47954
Re: Сервисы и репозитории. Слоистая архитектура. Примеры.
Научится разделять доменную логику от персистной, научится применять интерфейсы.
И тогда не будет проблем с AR. AR это всего лишь один из подходов ОРМ.
И тогда не будет проблем с AR. AR это всего лишь один из подходов ОРМ.
- 2016.07.28, 18:19
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисы и репозитории. Слоистая архитектура. Примеры.
- Ответы: 92
- Просмотры: 47954
Re: Сервисы и репозитории. Слоистая архитектура. Примеры.
Да, Active Record.zelenin писал(а):об AR речь?
- 2016.07.28, 18:01
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисы и репозитории. Слоистая архитектура. Примеры.
- Ответы: 92
- Просмотры: 47954
Re: Сервисы и репозитории. Слоистая архитектура. Примеры.
Вот ведь парадокс, паттерн введенный Мартином Фаулером в книге "Patterns of Enterprise Application Architecture",
но почему-то пугающий других разработчиков, постоянно называющих его "анти-паттерном".
Может вы просто "не умеете их готовить"?
но почему-то пугающий других разработчиков, постоянно называющих его "анти-паттерном".
Может вы просто "не умеете их готовить"?
- 2016.07.26, 00:55
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90117
Re: Сервисный слой, как правильно?
Я правильно понимаю, что просто начать с малого и внедрить сервисный слой в Й2 не получится? "Сервисный слой" как раз не проблема вообще, проблема в правильно проектировании модели. Рецепт "Сервисный слой" 1. Создаем по классы на один use case ( Варианты использования ): [*] Рег...
- 2016.07.25, 21:53
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисы и репозитории. Слоистая архитектура. Примеры.
- Ответы: 92
- Просмотры: 47954
Re: Сервисы и репозитории. Слоистая архитектура. Примеры.
Позвольте добавить немного своих мыслей, своими словами. Слоистая архитектура - архитектура приложения разбитая на разные слои, с разделением отвественности. Графически такую архитектуру представляют перевернутой пирамидой, так удобно отделить ответственность сверху вниз, где каждый слой обладает ин...
- 2016.07.25, 14:38
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисы и репозитории. Слоистая архитектура. Примеры.
- Ответы: 92
- Просмотры: 47954
Re: Сервисы и репозитории. Слоистая архитектура. Примеры.
magicoder, модель с одним свойством title, лучше делать с ActiveRecord и обычным CRUD. Все: работодатель, ревьювер, кодер который будет это поддерживать после тебя, все скажут только спасибо!
- 2016.07.25, 14:31
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90117
Re: Сервисный слой, как правильно?
но не могут менять приватные свойства инстанциированного объекта. Свойства объекта должны меняться через поведения, интерфейс объекта. Как симбиоз статики и конструктора сейчас додумался до такого варианта: class User { private $id; private $email; private $status; private $role; ...
- 2016.07.25, 14:26
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90117
Re: Сервисный слой, как правильно?
class UserRepository { function save(User $user) { // сохраняем пользователя в базу данных (имплементация упущена) // после чего обрабатываем события произошедшие с ним, // отсылаем емитеру чтоб оповестил подписчиков из других контектов foreach ($user->flushEvents() as $event) {...
- 2016.07.23, 11:02
- Форум: Обо всем
- Тема: Можно ли сделать существующий репозиторий форком другого
- Ответы: 6
- Просмотры: 3500
Re: Можно ли сделать существующий репозиторий форком другого
Я запутался читая первый пост, основной, не основной, другой, тот-же.
Попытаюсь угадать и ответить на вопрос.
Делаешь форк репозитория основного модуля. Добавляешь туда изменения сделанные, комитишь в свой форк. Предлагаешь PR (по желанию).
Попытаюсь угадать и ответить на вопрос.
Делаешь форк репозитория основного модуля. Добавляешь туда изменения сделанные, комитишь в свой форк. Предлагаешь PR (по желанию).
- 2016.07.21, 13:33
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90117
Re: Сервисный слой, как правильно?
final class Time { private $hours, $minutes; // We don't remove the empty constructor because it still needs to be private private function __construct(){} public static function fromValues($hours, $minutes) { $time = new Time; $time->hours = $hours; $ti...
- 2016.07.21, 11:03
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90117
Re: Сервисный слой, как правильно?
Возможно конечно, но я предпочитаю так не делать.ElisDN писал(а):Ваш подход можно и со статическими конструкторами совместить
Причину написал выше, лично я считаю это обходом инкапсуляции через установку значений приватным свойствам не через конструктор или поведения сущности.
- 2016.07.21, 10:21
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90117
Re: Сервисный слой, как правильно?
статических фабричных метода (так называемые именованные конструкторы (с) Верраес) Я сразу понял про что ты , я сам читаю статьи Mathias. Но к этому подходу отношусь неуверенно. Я считаю что оно нарушает принципы ООП, а именно инкпасуляцию, из-за того что устанавливаются приватные свойства. До того...
- 2016.07.21, 03:11
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90117
Re: Сервисный слой, как правильно?
а как надо изменить объект, чтобы зарегистрировать юзера? Это доменный эксперт может рассказать. Предполагаю что нужно ввести: имя и другие поля, установить в модели время регистрации, бросить события нужные. фабрики используются для создания объекта (я кстати указал варианты использования фабрик -...
- 2016.07.20, 23:59
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90117
Re: Сервисный слой, как правильно?
а что тут как не создание модели? начнем с того, что в UL нет понятия "создание класса User". Есть "регистрация юзера", "генерация тестового юзера", "создание юзера через апи" Вот и я про это. Регистрация пользователя - это процесс изменения модели User в нуж...
- 2016.07.20, 18:52
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90117
Re: Сервисный слой, как правильно?
во-первых, перекладываем ответственность за создание модели на фабрику Разве тут вообще создание модели? Или изменение ее состояния? Какова ответственность сервиса "UserServiceInterface" или хендлера? Как решить что пора остановится и количество слоев уже достаточно? во-вторых, убираем не...
- 2016.07.20, 17:05
- Форум: Архитектура, дизайн, ООП
- Тема: Сервисный слой, как правильно?
- Ответы: 208
- Просмотры: 90117
Re: Сервисный слой, как правильно?
Чем лучше?zelenin писал(а):лучше так
- 2016.07.14, 11:12
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как сделать такую маршрутизацию?
- Ответы: 10
- Просмотры: 3281
Re: Как сделать такую маршрутизацию?
Привет! Мне нужно подстроиться под старые адреса сайта на новом "движке". Если список старых адресов не длинный, и старые и новые адреса все известны, лучше настроить переадресацию сразу на веб-сервере. Если же это не подходит, нужно старые адреса посылать на спец. контроллер, который най...
- 2016.07.13, 15:22
- Форум: Архитектура, дизайн, ООП
- Тема: Правильно ли я делаю?
- Ответы: 9
- Просмотры: 4976
Re: Правильно ли я делаю?
То, что завалит слабо относящейся к модели функциональностью. В модели - такое же не лучшее, как и в контроллере. Мы же ActiveRecord обсуждаем? Можно ли считать что работа с коллекцией записей это часть модели? Повторюсь, можно это вынести и в отдельный класс (Search-класс), что является чем-то пох...