@symfony_php

Страница 29 из 1418
Sergey
17.12.2016
13:39:52
Sergey
17.12.2016
13:40:04
там где юзеры водятся)

Sergey
17.12.2016
13:40:09
"публичная" и "приватная" часть у тебя называются frontend и backend?

Mihail
17.12.2016
13:40:09
дл я не авторизированного юзера

Google
Sergey
17.12.2016
13:40:20
так себе)

Sergey
17.12.2016
13:40:29
yii напоминает

Mihail
17.12.2016
13:40:31
ну бекенд наверно лучше на админ переименовать

Sergey
17.12.2016
13:40:32
угу

Sergey
17.12.2016
13:40:43
никогда не понимал названия эти на бекнде "фронтэнд и бекенд"

у меня фронтэнд - это жс и браузер)

Sergey
17.12.2016
13:41:00
ну бекенд наверно лучше на админ переименовать
я называю обычно в тех терминах, в которых говорит клиент. Например в подавляющем большинстве систем чуваки называют это back office

Mihail
17.12.2016
13:41:23
ну ок у меня есть 3 состояния

Mihail
17.12.2016
13:41:43
не авторизирова, авторизирован и админка

Sergey
17.12.2016
13:41:52
у нас как-то был inside out, когда в админку мы должны были пускать обычных юзеров

но с обрезанными правами

Sergey
17.12.2016
13:42:02
бек офис или админка
есть еще промежуточные штуки, merchant portal, whitelabel и т.д.

Google
Sergey
17.12.2016
13:42:25
есть еще промежуточные штуки, merchant portal, whitelabel и т.д.
порталы бгг, есть такое) еще маркетинговая хрень у нас была

Sergey
17.12.2016
13:42:37
не авторизирова, авторизирован и админка
а что ты будешь делать когда тебе надо будет настраивать отдельные права? Например он админ но ему нельзя туда-то и туда-то?

или он обычный пользователь но ему почему-то можно еще и модерировать что-то

так что нельзя говорить "у меня есть три состояния"

у тебя есть роли - возможно

Sergey
17.12.2016
13:43:25
суровые реалии

Mihail
17.12.2016
13:43:31
есть )

Sergey
17.12.2016
13:43:40
ну короч... я опять же повторюсь

группировать прикольнее по функционалу а не по "ролям"

да и блин

это контроллеры

я не знаю как у вас

а у меня контроллеры нужны только что бы связать http роуты и хэндлеры конкретные

Sergey
17.12.2016
13:45:01
зачем тебе тогда контроллеры?)

меня только в заблуждение вводит момент когда сервис возвращает результат и контроллеру его нужно отдать дальше(шаблон или жсон)

то ли нужно лепить отдельные форматтеры/принтеры, то ли сервисный слой сам этим должен заниматься в отдельной прослойке

Sergey
17.12.2016
14:01:46
ну у меня обычно за запись отвечают хэндлеры, и они частенько ничего не возвращают (могут исключение кинуть)

а для чтения у меня отдельные сервисы.

хотя честно - сейчас на большинстве проектов легкая каша... иногда мне лень заводить сервисы новые и я просто в контроллерах делаю какие-то вещи

еще я не очень правильно юзал фрактал.... до недавнего времени

Google
Sergey
17.12.2016
14:03:07
сейчас борюсь с последствиями

Sergey
17.12.2016
14:03:23
есть такое

Sergey
17.12.2016
14:03:23
а че с фракталом не так?

Sergey
17.12.2016
14:03:36
а я чет думал что "инджектить сервисы в трансформеры збс идея"

по факту - нифига

лучше так не делать

очень провоцирует нарушать SRP

ну тоесть делать трансформеры как сервисы - идея дрянь

если очень надо лучше сделать фабрику, но это опять же в очень редких случаях надо. Лучше что бы трансформеры оставались просто трансформерами. Данные на вход - данные на выход. Никакой магии. Чистота

Sergey
17.12.2016
14:06:40
очень провоцирует нарушать SRP
самый мутный принцип

Sergey
17.12.2016
14:06:52
я могу описать последствия)

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

например появляются проверки вида "если текущий юзер может видеть email-ы юзеров покажи их"

а надо просто сказать трансформеру "и да показывай email-ы"

в этом заключается суть SRP - контект может захотеть поменять тот, кто юзает трансформер

и сделать это уже непросто потому что трансформер шибко умный

Sergey
17.12.2016
14:08:43
самый мутный принцип
жирная модель с сотней методов - это не нарушие SRP, это "доменный язык" а всякие сериалайзеры/десериалайзеры - это уже нарушение SRP ?

Sergey
17.12.2016
14:09:10
жирная модель с сотней методов - это не нарушие SRP, это "доменный язык" а всякие сериалайзеры/десериалайзеры - это уже нарушение SRP ?
жирная модель с сотней методов которая делает все сама - это нарушение SRP в большинстве случаев

делигируй унижай

Google
Sergey
17.12.2016
14:09:16
передавай задачи другим сервисам

Sergey
17.12.2016
14:09:23
а вот нехера

Sergey
17.12.2016
14:09:29
просто нюанс

ты можешь передавать сервисы как зависимости операций, как аргументы

дабл диспатч и все такое

Sergey
17.12.2016
14:10:38
передавай задачи другим сервисам
делегирование ради уменьшения количества методов

Sergey
17.12.2016
14:11:00
делегирование ради уменьшения количества методов
суть не в количестве методов, суть в том, где расположен код, который выполняет работу

Sergey
17.12.2016
14:11:17
ну SRP может быть то с разным скоупом

Sergey
17.12.2016
14:11:25
в смысле "скоупом"?

SRP - single reason to change. И все. у тебя поменялась логика подсчета скидок - должен поменяться один файл (или один компонент)

Sergey
17.12.2016
14:12:32
а если у меня бага? или оптимайзить надо?
рефакторинги всякие это не изменения

баг - исправление функционала

рефакторинг - изменение реализации без изменений в функционале

оптимизации = рефакторинг

а вот когда тебе надо поменять функционал, именно логику работы

Sergey
17.12.2016
14:13:01
баг - исправление функционала
баг это те же требования, неучтенные как правило

и они могут задевать сразу много всего

Sergey
17.12.2016
14:13:28
от багов ты не застрахуешься)

вообще принципы SOLID это гадание, то есть ты никогда не сможешь знать всего наперед и не должен этого знать

Google
Sergey
17.12.2016
14:13:53
НО ты можешь хорошенько подумать

Sergey
17.12.2016
14:14:32
>у тебя поменялась логика подсчета скидок у тебя еще нет логики вообще, только требования и ты проектируешь систему

Sergey
17.12.2016
14:14:41
эм... ты так делаешь?

ну ладно, не суть

давай как ты описываешь

мой типичный день)

понедельник - пришел новый проект

кода нет

требования непонятны

так?

Sergey
17.12.2016
14:15:19
допустим они понятны)

Sergey
17.12.2016
14:15:28
ой да ладно, они никогда не понятны

Sergey
17.12.2016
14:15:36
давай конкретный кейс. подсчет скидок

Sergey
17.12.2016
14:15:55
тип "а давайте добавим подсчет скидок"?

или "а давайте поменяем алгоритм подсчета скидок"?

Sergey
17.12.2016
14:16:06
ну у тебя к примеру есть уже онлайн шоп

Sergey
17.12.2016
14:16:10
есть

Sergey
17.12.2016
14:16:24
а тут приходят и говорят - если чувак покупает 2 одинаковые книги, делаем ему скидку в 10 процентов

Sergey
17.12.2016
14:16:40
а если 3?

Sergey
17.12.2016
14:16:47
похер, 10%

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