@symfony_php

Страница 836 из 1418
Dmitriy
10.04.2018
19:39:39
Хуяк и в продакшн сила
SOLID'ом тебе по голове постучать)

Vladislav
10.04.2018
19:39:39
а если я захочу RDB -> Nosql

то что делать?

В том то и смысл, если есть шанс того, что понадобится изменить одну либу на другую , тогда выделяй интерфейс и оперируй им в доменном слое
ты ж понимаешь что интерфейс для какойго-то почтового клиента это одно, а вот для доктрины это совсем другое

Google
Konstantin
10.04.2018
19:40:24
а если я захочу RDB -> Nosql
вернуться в прошлое и подумать еще раз

Dmitriy
10.04.2018
19:40:52
остановиться и подумать, где в жизни ты свернул не туда)

Ярослав
10.04.2018
19:40:53
значит тебе надо поменять платформу на что то более быстродействующее
Нужно смотреть на бд, если не хватает мощности при вертикальном масштабировании , тогда использовать но горизонтальное

Sergey
10.04.2018
19:42:04
а если я захочу RDB -> Nosql
и ты наперед будешь закладывать это в разработку?

Vladislav
10.04.2018
19:42:23
и ты наперед будешь закладывать это в разработку?
та это никак не получится нормально заложить

Sergey
10.04.2018
19:42:25
следуем YAGNI принципам?

Vladislav
10.04.2018
19:42:30
так что не вижу смысла даже спорить)

никто не будет менять тип бд в проекте который уже работает

Sergey
10.04.2018
19:42:44
ну я вообще когда вижу очередной интерфейс в коде - становится грустно

Konstantin
10.04.2018
19:42:44
чтобы это поменять лчевидно надо какоую то вескую причину

Ярослав
10.04.2018
19:42:48
а если я захочу RDB -> Nosql
Серебряной пули нет Придется дописывать новый репозиторий или dao, прокидывать его в сервис и не париться Зависит от архитектуры текущего проекта

Konstantin
10.04.2018
19:43:26
да ниче не придется

Ярослав
10.04.2018
19:43:41
Лишь бы в контроллерах не писать flush, вот тогда начинается дичь

Google
Vladislav
10.04.2018
19:43:46
я согласен что надо находить баланс, максимально стараться абстрагироваться, но насчет смены фреймворка это жоска

Sergey
10.04.2018
19:43:56
контроллерах..

Konstantin
10.04.2018
19:44:00
Vladislav
10.04.2018
19:44:24
щас бы писать флаш где-то внутри сервисов

Konstantin
10.04.2018
19:44:26
а то может все что я тут нахватался - просто чушь и всё делаю неверно

Sergey
10.04.2018
19:45:12
Konstantin
10.04.2018
19:45:36
а без анемичной модели

где писать?

Ярослав
10.04.2018
19:45:39
Не стоит городить миллион слоев, но разделить проект на бизнес логику и инфраструктурный слой стоит для серьезных проектов

Konstantin
10.04.2018
19:46:57
я проверю твою инфу

Sergey
10.04.2018
19:46:57
если бизнес логика вообще есть)

Ярослав
10.04.2018
19:46:57
В некоторых случаях хватает сервис + repository + dto + entity

если бизнес логика вообще есть)
Она однозначно есть, разве что ты не бложик пилишь и то там тоже есть behavior rules

Dmitriy
10.04.2018
19:47:51
если бизнес логика вообще есть)
Если бизнес логики нет, то это БД)

Антон
10.04.2018
19:48:10
Dto для чего нужно?

Google
Ярослав
10.04.2018
19:49:08
Dto для чего нужно?
Для передачи данных между слоями

Антон
10.04.2018
19:49:57
Между репозиторием и сервисом к примеру?

Ярослав
10.04.2018
19:50:13
95% пхпшных проектов
Тут нужно разделять проекты и модули Есть простые проекты, но один модуль будет сложным , а программисты по привычке используют один и тот же подход

Если бизнес логика слишком сложна, то можно рассмотреть DCI

Некоторым это может быть полезно

Sergey
10.04.2018
19:52:45
Она однозначно есть, разве что ты не бложик пилишь и то там тоже есть behavior rules
кодовая база 500тыс+, ну чуть больше чем бложик и чистой бизнес логики как кот наплакал

Ярослав
10.04.2018
19:53:17
У меня на работе был чел с 5 летним опытом, пишущий модуль для бухгалтерского учета, используя функции , жёсткую привязку к либам и при поддержке хотелось повеситься Это насчёт самописов )

Sergey
10.04.2018
19:53:33
>бухгалтерского учета вот

инфраструктуры минимум, бизнес логики максимум

Ярослав
10.04.2018
19:54:10
кодовая база 500тыс+, ну чуть больше чем бложик и чистой бизнес логики как кот наплакал
Что для тебя бизнес-логика ? Проект что ли похож на набор crud страниц , не взаимодействующих между собой ?

Все взаимосвязи сущностей - уже бизнес логика

Антон
10.04.2018
19:56:02
Если я composer пакет хочу задействовать, то я уже должен привязать его через интерфейс?

Антон
10.04.2018
19:56:15
Тот же guzzle к примеру

Ярослав
10.04.2018
19:56:57
Если я composer пакет хочу задействовать, то я уже должен привязать его через интерфейс?
Выдели интерфейс и прокидывай объект через IoC (DI , к примеру )

Антон
10.04.2018
19:58:05
Ну и главный вопрос. Как понять мне что нужен DDD?

Может он не нужен?

Konstantin
10.04.2018
19:58:38
посиди тут в чате и тебе вообще понадобится любая технология про которую тут расскажут

в итоге будешь пилить пару лет

ну или пока бабло не кончится на проекте )))

Антон
10.04.2018
19:59:05
Угу

Google
Pavel
10.04.2018
19:59:14
DCI и DTO это DDD?

Антон
10.04.2018
19:59:36
И возможно ли по пути внедрить DDD?

Ярослав
10.04.2018
20:00:23
Ну и главный вопрос. Как понять мне что нужен DDD?
Это приходит с опытом, посмотри на проект Как долго планируется его поддерживать , учти ещё десяток факторов , о которых мы здесь не упомянем , так как после работы/нет опыта и реши )

Sergey
10.04.2018
20:00:53
Что для тебя бизнес-логика ? Проект что ли похож на набор crud страниц , не взаимодействующих между собой ?
ну к примеру терабайты данных, которые приходят, их нужно максимально быстро обработать, сохранить, проиндексировать и тд. бизнес логики не так уж и много, и она идет вперемешку с инфраструктурным кодом как можно догадаться модули, которые можно описать на десятке А4 страниц, при этом чистой бизнес логики там будет ну 5-10% максимум, остальное это инфраструктурные вещи и оптимизации

Ярослав
10.04.2018
20:01:29
DCI и DTO это DDD?
DCI - вообще не к тому , это о том, как работать с инвариантами связей DDD - про управление сложностью в проекте

И возможно ли по пути внедрить DDD?
Твой проект может эволюционировать, как и все в этом мире )

Sergey
10.04.2018
20:04:59
Обработка терабайт данных на php... Окей Здесь и не требуется сложных архитектурных решений Вообще big data - про костыли и оптимизацию , а не про архитектуру
это не bigdata, подходы отличаются. вообще любое более-менее пользуемое приложение в продакшене это про костыли и оптимизацию

Admin
ERROR: S client not available

Sergey
10.04.2018
20:05:11
как думаешь, в фб, вк, одноклассниках и тд сильно дрочат на ДДД?)

закрытый интерпрайз проект - да, бизнес логика там сумашедшая, не спорю

там нужны отдельные люди, которые будут следить за всеми правилами, поведением и как оно вместе вяжется. для этого нужен обще-понятный язык и ДДД становится панацеей

Ярослав
10.04.2018
20:06:12
как думаешь, в фб, вк, одноклассниках и тд сильно дрочат на ДДД?)
Костыли на костылях и многие вещи переписаны с php на си )

Sergey
10.04.2018
20:06:31
НО, проектов с такой адовой логикой ну не так уж и много

Vladislav
10.04.2018
20:06:57
давайте вычислим что такое биг дата и в каком случае это надо так называть

чтобы законить уютный вечер

Ярослав
10.04.2018
20:07:31
там нужны отдельные люди, которые будут следить за всеми правилами, поведением и как оно вместе вяжется. для этого нужен обще-понятный язык и ДДД становится панацеей
Ubiquitous language нужен многим , но они этого не осознают , когда пишут код отталкиваясь от данных, а не терминов бизнеса

Konstantin
10.04.2018
20:08:00
все еще жду пример правильного проекта (

Google
Антон
10.04.2018
20:08:39
Konstantin
10.04.2018
20:08:54
Ты ещё не понял что их нет?
ну страницы пиздежа же про них есть

Антон
10.04.2018
20:09:16
Емае... Весь мир вообще то так построен

Антон
10.04.2018
20:09:41
Все так красиво на словах. В реальности иначе

Ярослав
10.04.2018
20:09:43
Правильной архитектуры нет)

Антон
10.04.2018
20:10:06
Мир изначально не совершенен

Sergey
10.04.2018
20:10:10
бигдата - это системы аналитики, логов и прочего гавна, которое в день приходит в сыром виде и измеряется в десятках терабайт. там обычными подходами это не получится разобрать

Антон
10.04.2018
20:10:16
И стремится к хаосу

Konstantin
10.04.2018
20:10:38
программисты для этого и существуют чтобы создавать идеальные программы, т.к. в мире нет ничего идеального. пусть идеальное будет хотя бы в каком то виртуальном пространстве

Sergey
10.04.2018
20:10:41
а если у тебя скажем платежных транзакций в базе лежит терабайт - это не бигдата

Konstantin
10.04.2018
20:10:55
однако от одного факта что об этом говорить на каждом углу - все само собой идеальным не станет

Sergey
10.04.2018
20:11:57
вот по поводу ДДД

>У меня есть альтернативная гипотеза, про которую тоже не знаю, насколько она верна: многим людям нужно как-то доказывать себе и окружающим, что они очень умные. Поэтому есть каста людей, которые ни на что не променяют программирование на C++ или Scala во всей полноте этих языков: это такой способ чувствовать себя очень умным. Вот человек справился с очень сложной штукой, и он будет использовать её дальше, чтобы подтверждать свою невероятную компетентность и талантливость, потому что не всякий может освоить систему такой сложности. И даже если для конкретной задачи система прагматически не обязана быть такой сложной, человеку может нравиться это делать, просто потому что «я же умею такую крутейшую вещь, а вы не умеете».

это цитата

Антон
10.04.2018
20:13:28
Yagni

Ярослав
10.04.2018
20:13:32
программисты для этого и существуют чтобы создавать идеальные программы, т.к. в мире нет ничего идеального. пусть идеальное будет хотя бы в каком то виртуальном пространстве
Программирование тесно связано с окружающим его миром и программы создаются для нужд человека, который сам по себе неидеален

это цитата
Бывает и такое, неоправданная сложность - зло

Антон
10.04.2018
20:14:14
Иногда некому человека остановить

А если он ещё и жадный на знания

Sergey
10.04.2018
20:14:33
DDD, микросервисы, CQRS/ES и тд часто пихают там где это не нужно

Страница 836 из 1418