Size: a a a

2020 May 06

АС

Альберт Степанцев... in PHP
SarcasmIO
дайте мне контракт "ружо" и шоб стреляло и фотографировало и удобно было и не убило никого
дайте мне метод, который будет складывать числа
причем интерфейс определяет только смысл операции - сложение и тип возвращаемого значения

а реализация сама решает - сколько она чисел будет складывать
источник

ЕР

Евгений Ромашкан... in PHP
Альберт Степанцев
принципы SOLID для программистов
а не для синтаксиса
Чтобы не вылазили всякие с подобными желаниями )
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in PHP
SarcasmIO
дайте мне контракт "ружо" и шоб стреляло и фотографировало и удобно было и не убило никого
А ещё, чтоб реализация кофе готовила (я понимаю, что контракт "ружо", но у меня есть флаг-параметр в реализации...) 😂
источник

АС

Альберт Степанцев... in PHP
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
А ещё, чтоб реализация кофе готовила (я понимаю, что контракт "ружо", но у меня есть флаг-параметр в реализации...) 😂
вы бредите
источник

АС

Альберт Степанцев... in PHP
LSP ничего не говорит о количестве аргументов, он касается лишь типов
источник

ЕР

Евгений Ромашкан... in PHP
Чёт поплыл наш эксперт походу
источник

S

SarcasmIO in PHP
Альберт Степанцев
дайте мне метод, который будет складывать числа
причем интерфейс определяет только смысл операции - сложение и тип возвращаемого значения

а реализация сама решает - сколько она чисел будет складывать
interface Sum {
public function add(...$numbers): int
} ?
источник

АС

Альберт Степанцев... in PHP
SarcasmIO
interface Sum {
public function add(...$numbers): int
} ?
вы все уже в сотый раз это пишите, несмотря на то, что я в самом первом посте указал на три точки, как на вариант решения
источник

АС

Альберт Степанцев... in PHP
зачем мне это снова и снова писать?
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in PHP
Альберт Степанцев
LSP ничего не говорит о количестве аргументов, он касается лишь типов
Бред. Наследник должен вести себя так же, как интерфейс/родитель - где тут про типы аргументов? Если интерфейс не требует обязательных параметров, мы не можем использовать наследника, который требует. Всё. ЧТД
источник

АС

Альберт Степанцев... in PHP
можно даже add(int ...$numbers) при желании
источник

Р

Руслан in PHP
Евгений Ромашкан
Чёт поплыл наш эксперт походу
Такие нынче експерты 😁
источник

АС

Альберт Степанцев... in PHP
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
Бред. Наследник должен вести себя так же, как интерфейс/родитель - где тут про типы аргументов? Если интерфейс не требует обязательных параметров, мы не можем использовать наследника, который требует. Всё. ЧТД
вы давно определение LSP читали?

лень с вами спорить
но добавление еще одного однородного аргумента в реализацию, при условии, что в контракте явно записано "любое количество однородных аргументов" не нарушает принцип подстановки

другое дело, что в PHP для этого нет языковых средств
источник

АС

Альберт Степанцев... in PHP
кроме ...
источник

АС

Альберт Степанцев... in PHP
о чем тут уже написали все ))
источник

ЕР

Евгений Ромашкан... in PHP
Альберт Степанцев
вы давно определение LSP читали?

лень с вами спорить
но добавление еще одного однородного аргумента в реализацию, при условии, что в контракте явно записано "любое количество однородных аргументов" не нарушает принцип подстановки

другое дело, что в PHP для этого нет языковых средств
В начале диалога элементы были "любые" а не однородные )
источник

АС

Альберт Степанцев... in PHP
Евгений Ромашкан
В начале диалога элементы были "любые" а не однородные )
ОК, это моя ошибка
виноват, не указал
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in PHP
Альберт Степанцев
вы давно определение LSP читали?

лень с вами спорить
но добавление еще одного однородного аргумента в реализацию, при условии, что в контракте явно записано "любое количество однородных аргументов" не нарушает принцип подстановки

другое дело, что в PHP для этого нет языковых средств
» "любое количество однородных аргументов"

В том числе и ноль. Выше писали - что необязательные параметры допускаются при расширении интерфейса. Топикстартер хочет обязательный параметр
источник

АС

Альберт Степанцев... in PHP
ну и к тому же я всё равно настаиваю, что язык не обязан соблюдать принципы SOLID
их может соблюдать программист, при достаточной степени ответственности
источник

АС

Альберт Степанцев... in PHP
вон, плюсы, нарушают все возможные принципы в каждой строчке кода
и ничё
источник