@oop_ru

Страница 526 из 785
Dmitry
23.02.2018
20:06:19
явная связанность с фреймворком была заменена менее явной но более жесткой связанностью
В общем... Как понял из хейта, если я в Yii использую встроенный ActiveRecord, то я просто обязан везде лепить "как все": if (!$user = User::findOne(['email' => $email])) { throw new NotFoundException(...); } $user->status = User::STATUS_ACTIVE; if (!$user->save()) { throw new RuntimeException(...); } и мне нельзя в AR добавить ООП, подключить плагин для связей и инкапсулировать вызов поиска и сохранения в какой-нибудь объект Repository, чтоб всю лапшу сменить на код: $user = $this->users->getByEmail($email); $user->activate(); $this->users->save($user); потому что это "не persistance ignorance и не framework agnostic" и "вдруг в проект придёт джун и обкакается". Да и вообще потому, что так никак нельзя делать в AR или чём то ещё и можно лишь в их православном DM. И готовы бить морду за то что "нет контекстов, значит код говно" :) Если так, то, видимо, у многих DDD-анутых оппонентов отсутствует не-DM мозг. Ну и не читают диагональщики разборов вроде http://www.elisdn.ru/blog/104/domain-entities-modelling про репозитории, где мы рисуем агрегаты и сохраняем их в DM, Doctrine и ActiveRecord. С коллекциями, прокси, феншуем и костылями.

Sergey
23.02.2018
20:07:30
В общем... Как понял из хейта, если я в Yii использую встроенный ActiveRecord, то я просто обязан везде лепить "как все": if (!$user = User::findOne(['email' => $email])) { throw new NotFoundException(...); } $user->status = User::STATUS_ACTIVE; if (!$user->save()) { throw new RuntimeException(...); } и мне нельзя в AR добавить ООП, подключить плагин для связей и инкапсулировать вызов поиска и сохранения в какой-нибудь объект Repository, чтоб всю лапшу сменить на код: $user = $this->users->getByEmail($email); $user->activate(); $this->users->save($user); потому что это "не persistance ignorance и не framework agnostic" и "вдруг в проект придёт джун и обкакается". Да и вообще потому, что так никак нельзя делать в AR или чём то ещё и можно лишь в их православном DM. И готовы бить морду за то что "нет контекстов, значит код говно" :) Если так, то, видимо, у многих DDD-анутых оппонентов отсутствует не-DM мозг. Ну и не читают диагональщики разборов вроде http://www.elisdn.ru/blog/104/domain-entities-modelling про репозитории, где мы рисуем агрегаты и сохраняем их в DM, Doctrine и ActiveRecord. С коллекциями, прокси, феншуем и костылями.
я не могу отвечать за набросы Антона (я так понимаю он про persistence ignorance накидывал) но меня смущает немного другие вещи

Admin
ERROR: S client not available

Страница 526 из 785