@oop_ru

Страница 516 из 785
Artur
20.02.2018
21:34:05
ну здесь явно changeStatus

Sergey
20.02.2018
21:34:09
в CRUD у тебя будет if (status == "closed" ) { do something } else {}

да, и там может быть какая-то логика

Google
Sergey
20.02.2018
21:34:24
в зависимости от статуса что-то сделать например

Artur
20.02.2018
21:34:31
инкапсуляция!

шутка на тему ооп

Sergey
20.02.2018
21:34:51
фууууу :)
ну так я ж не написал где оно - в changeStatus или не changeStatus не важно

возможно у меня там и объектов не будет

Artur
20.02.2018
21:35:07
зато удачно получилось пошутить

Sergey
20.02.2018
21:35:08
структуры данных и пайплайны на функциях чистых

ООП оно ж не про классы

суть идеи в том что в моем случае будет метод close()

а не changeStatus

или будет отдельный объект представляющий статус который умеет переход в другие (паттерн state object)

но разница именно в этом. И мы все же помним что серебрянных пуль не бывает?

короч оставлю видос и пойду спать

Google
Sergey
20.02.2018
21:38:19
https://www.youtube.com/watch?v=fWU8ZK0Dmxs

Artur
20.02.2018
21:38:51
ООП оно ж не про классы
моё имхо было и остаётся - это попытка уложить в голове кожанных мешков структуры из реального мира потому что в оптимальный они(человеки) не умеют

Sergey
20.02.2018
21:38:57
там чуть-чуть о том что я все никак выходит не могу сформулировать (в плане чем плохи сеттеры). В видосе вместо сеттеров рассматривают if

Artur
20.02.2018
21:39:22
https://www.youtube.com/watch?v=fWU8ZK0Dmxs
щас бы уметь в ангельский

Sergey
20.02.2018
21:39:22
но идея та же

Bohdan
20.02.2018
21:39:29
опа, уди

схоронил

Sergey
20.02.2018
21:39:46
щас бы уметь в ангельский
ну у него норм с дикцией - субтитры корректно показывает)

Artur
20.02.2018
21:39:56
суть идеи в том что в моем случае будет метод close()
а по моему тебе вообще не положени ночего знать на вызове и close это инкапсулированная диип-блэк-бокс

ну у него норм с дикцией - субтитры корректно показывает)
я сюда деградировать зашёл(с) на самом деле фарт вбросил в соседний чатик что полиморфные аргументы в новом пхп7.2 хорошо

и типа здесь кто-то это доказал

я аж ахренел

Bohdan
20.02.2018
21:41:36
расширение возвращаемого типа?

Artur
20.02.2018
21:42:01


Bohdan
20.02.2018
21:42:03
а, точно, там "убрать", а не расширить

все путаю хотелки с могульками

Sergey
20.02.2018
21:42:27
ну хорошо было бы поддержка полноценная, а не просто убрать

Artur
20.02.2018
21:42:36
все путаю хотелки с могульками
технически в php и так можно

Google
Sergey
20.02.2018
21:42:38
но плохого ничего нет

Artur
20.02.2018
21:42:44
но не через парадный вход

но плохого ничего нет
старый код перестанет работать при смене DI

смысла нет

Bohdan
20.02.2018
21:43:17
ну хорошо было бы поддержка полноценная, а не просто убрать
это ведь lsp, который мы не так давно обсуждали, да?

Artur
20.02.2018
21:43:27
очередная возмодность отсрелить себе ноги

Bohdan
20.02.2018
21:43:44
require no more, promise no less

Artur
20.02.2018
21:43:51
Принцип инверсии зависимостей (The Dependency Inversion Principle) «Зависимость на Абстракциях. Нет зависимости на что-то конкретное.»

Bohdan
20.02.2018
21:44:23
при чем тут оно?)

Artur
20.02.2018
21:44:42
ну типа ДВС вдруг начал есть не бензин а мясо

те в солид принципах 1 лишнее/?

Artur
20.02.2018
21:45:22
вот было бы удобно

но старые двс умрут

Bohdan
20.02.2018
21:45:40
ну они как бы не гарантируют идеальности

если у тебя сначала движок работает на бензине, а потом на любом топливе - тогда это lsp ну и с dip конфликтов нет

Artur
20.02.2018
21:48:03
ну близко

Google
Bohdan
20.02.2018
21:48:07
ты может с LSP спутал?
я вон выше упоминал

Sergey
20.02.2018
21:48:14
и в рамках LSP "расширение прекондишенов для подтипов" это валидный сценарий

а соблюдают контракты или нет - это уже другой вопрос

Artur
20.02.2018
21:48:48
Sergey
20.02.2018
21:48:49
потому я и говорю что "запилили бы они полноценно ковариантность/контрвариантность типов - было бы збс"

тапк они могут быть полность.ю несовместимы
на уровне интерфейса у тебя был тип и нет типа

никаких нарушений

Admin
ERROR: S client not available

Artur
20.02.2018
21:49:11
по сути код использовал контрактный метод с аргументом а в виде обхекта а стал принимать условно json в виде стринга

Bohdan
20.02.2018
21:49:12
прекондишн - на вход, посткондишн - на выход? я правильно уловил терминологию?

Sergey
20.02.2018
21:49:25
а то что ты туда запихнул что-то не то и сломалось - это уже нарушение LSP на уровне контракта

а не json

Artur
20.02.2018
21:49:52
если с сеттерами ещё есть причины(в пхп они нужны по сути для валидации строгой) то с таким подходом просто мрак

Sergey
20.02.2018
21:50:05
если он вдруг начал принимать json вместо строк - ты сузил прекондишен и нарушил LSP

Artur
20.02.2018
21:50:10
нет, он по интерфейсу принимает "что угодно"
в оригинале на уровне выше он принимал не тчо угодно

Google
Artur
20.02.2018
21:50:44
ену я понял за что ты выступаешь

новый тип двигателя начинает есть не только бензин но и керасин

Artur
20.02.2018
21:51:19
вот это я говорю но бля

Sergey
20.02.2018
21:51:20
ты не читаешь что тебе пишут

ты просто несешь свой поток сознания дальше

Artur
20.02.2018
21:51:36
ага я должен был уже прочитать то что ты мне сказал и прозреть

а ты хороооош

я конкретный пример привёл, меж тем

Sergey
20.02.2018
21:53:00
ага я должен был уже прочитать то что ты мне сказал и прозреть
interface Foo { public function foo(string $foo); } class B implements Foo { public function foo(string $foo) { if (preg_match('/bar/U', $foo)) { throw new \Exception('Fuck LSP'); } } }

Artur
20.02.2018
21:53:07
был бензин стал null - это не производная

Sergey
20.02.2018
21:53:24
вот тебе пример точно такого же нарушения LSP без какого либо изменения на уровне интерфейсов

люди могут сломать LSP по разному, а изменения в php 7.2 не особо на это влияют

Artur
20.02.2018
21:54:40
не понял. речь про то что троу не ожидается потому что стринг?

Sergey
20.02.2018
21:55:33
ну у тебя был двигатель который жрал 95-ый бензин а ты туда саляру заливаешь. С точки зрения типов и то и то - топливо

Artur
20.02.2018
21:56:24
это слабо связано с тем что раньше двс принимал топливо по недсмотру(ифейс на 95 нужен) а сейчас ты в него льёшь воду

ты говоришь о недостаточной строгости

изначальной

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