
Evgeniy
11.01.2017
10:44:30
если ты можешь за 10- минут написать god object и решить проблему, а нормальное решение займет неделю другую

Sergey
11.01.2017
10:44:36

Evgeniy
11.01.2017
10:44:44
напиши god object потом со спокойной душой делай решение

Sergey
11.01.2017
10:45:05
> если ты можешь за 10- минут написать god object и решить проблему, а нормальное решение займет неделю другую
а еще ты можешь подумать 10 минут лишних и придумать солюшен который займет у тебя 20 минут и не будет god object-ом

Google

Sergey
11.01.2017
10:45:22

Evgeniy
11.01.2017
10:45:43

Aleh
11.01.2017
10:48:33
чет я тож не знаю реальной ситуации, где простое решение может быть god object
неявные зависимости, сильный каплинг
а еще потом мутабельное состояние
мммм

Sergey
11.01.2017
10:49:12
я подозреваю что "когда не хочется ставить контейнер зависимостей"
но это такое.... composer require php-di/php-di

Aleh
11.01.2017
10:49:30
типа да

Evgeniy
11.01.2017
10:50:43
да в данном примере

Aleh
11.01.2017
10:51:00
тогда вопрос, почему эти методы не в классе User?

Sergey
11.01.2017
10:51:19
а какие методы?

Google

Aleh
11.01.2017
10:51:26
UserService
оттуда

Sergey
11.01.2017
10:51:39
ну обычно UserService это процедуры для данных (User)

Evgeniy
11.01.2017
10:51:46

Aleh
11.01.2017
10:52:01

Evgeniy
11.01.2017
10:52:01
или может для User это просто valueobject ?

Aleh
11.01.2017
10:52:17
так а почему он value object?

Evgeniy
11.01.2017
10:52:20
user -> valueobject

Aleh
11.01.2017
10:52:31
я думал он сущность)

Evgeniy
11.01.2017
10:52:37
так потому что принято в приложение?)
зависит от ситуации
полно деталей

Aleh
11.01.2017
10:53:05
ну я и спрашиваю детали

Evgeniy
11.01.2017
10:53:07
просто круто быть всем таким идеалистом и не писать godobject

Aleh
11.01.2017
10:53:11
когда это может быть нужно

Evgeniy
11.01.2017
10:53:14
но если посмотреть все мы их писали
все мы юзали singleton и тд

Aleh
11.01.2017
10:53:35
singleton != god object

Evgeniy
11.01.2017
10:53:35
все мы жили без php-di или pimple и подобного
я знаю что !=

Google

Evgeniy
11.01.2017
10:54:39
у большинства на проекте есть косяки или недоработки
если было бы идеально то мы бы над проектом не работали потому что он был бы готов
и делать вид типо нам абстрактно видней как лучше делать тоже не всегда
потому что делая архитектуру по теории потом команда начинает все делать через одно место стоит уйти в отпуск
а в вашем приложение способны разобраться только один человек(автор) ну и теоритически Фаулер или чьи видео использовали
правильного ответа нет, есть решение удовлетворяющее требования
и сегодня оно подходит завтра нет
а попытка предугадать все возможные ситуации может не окупиться
потому что могут через месяц убрать модуль так как им пользователи не пользовались или не выгодно и тд

Sergey
11.01.2017
10:58:41

Evgeniy
11.01.2017
10:59:20
https://ru.wikipedia.org/wiki/%D0%91%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82
то что говорили тут вы сейчас будете выводить не в god object а в то что это facade

Evgeniy
11.01.2017
11:00:34
для приложения а уже части кода выполняются там нужные

Sergey
11.01.2017
11:00:45
у фасада почти нет своей логики

Evgeniy
11.01.2017
11:00:52
но что мешает использовать напрямую нужный объект а не facade ?

Sergey
11.01.2017
11:01:17
ибо как я понимаю для тебя это любой объект с чуть большей зоной ответственности чем нужно

Evgeniy
11.01.2017
11:02:33
понятие "чуть большей" субьективно

Sergey
11.01.2017
11:02:56
это тоже понятно)

Evgeniy
11.01.2017
11:03:02
и на вики в первом предложение вместо "чуть больше", "слишком много" тоже в кавычках

Google

Sergey
11.01.2017
11:03:03
можешь мне привести вот твои личные границы

Evgeniy
11.01.2017
11:03:16
зависит от приложения
и от ситуации

Sergey
11.01.2017
11:03:25
ну тогда о чем мы вообще говорим

Evgeniy
11.01.2017
11:03:28
грубо говоря

Admin
ERROR: S client not available

Sergey
11.01.2017
11:03:30
https://cs7054.vk.me/c637330/v637330551/28d57/H8OZToiJQ2c.jpg

Evgeniy
11.01.2017
11:03:38
если в приложение есть более адские вещи и проблемы

Sergey
11.01.2017
11:04:05
надо просто пробовать находить баланс с couling и coheasion

Evgeniy
11.01.2017
11:04:11
то понятие слишком много, не достигается почти никогда

Sergey
11.01.2017
11:04:12
что не просто само по себе

Evgeniy
11.01.2017
11:04:21
именно
именно если на проекте ад и view в перемешку с sql
и с бизнес логикой
то ты как то забьешь на объект который в стороне и делает все что тебе надо
и называется он как нибудь CoreService, AppService и тд
тебя он вполне устроит и ты будешь мешанину шаблонов и sql разделять
но когда в приложение все сделаешь удобно можно и этот объект посмотреть и возможно разделить
или тебя позвали на битриксе что нибудь пофиксить, в шаблоне там что то поменять, получаешь проект смотришь и со словами ебать тут нет ddd,cors, solid, еще я привык к doctrine, php-di, phpunit (coverage 100%), behat и тд
и начинаешь все это приводить в порядок))

Google

Evgeniy
11.01.2017
11:09:38
но только нафига?)

Sergey
11.01.2017
11:09:39
ну это совсем другой разговор)

Sergey
11.01.2017
11:09:42

Sergey
11.01.2017
11:09:44
это работа с жестким легаси)
и плаванье в говнокоде

Evgeniy
11.01.2017
11:09:57
ну похорошему от такого надо сразу бежать
bitrix, joomla хорошие стопслова)

Sergey
11.01.2017
11:10:08
я знаю как это бывает
плавал
"тип там только чуть-чуть подправить, надо зарелизить уже"
"фрилансеры делали на joomla"

Evgeniy
11.01.2017
11:10:43
да
и в вариенте с битриксом любое решение сделанное через godobject, singleton или даже goto
является допустимым
даже заявление по собтсвенному на русском, тоже допустимое решение.

Sergey
11.01.2017
16:08:00