170 похожих чатов

Ну бтв я не любитель ооп, но под ооп я

подразумеваю как в жаве, мутить костыли - зачем? выдумывать проблемы и их решения? зачем?

14 ответов

14 просмотров

1. утверждение, что это костыли, ещё надо доказать. Можно говорить, что это не удобно без интерфейсов и абстрактных классов, потому что интерфейс в итоге описан неявно. Но в JS ВСЕ типы неявные, потому что это динамическая + утиная типизация. 2. иногда проблемы выдуманные и не надо тянуть, а иногда не выдуманные. Для DIp примеры не выдуманных проблем: - unit тестирование в философии nodejs - сущность, у которой могут меняться реализации зависимостей в разных ситуациях

Alexey-assdaswq Автор вопроса
Grigorii K. Shartsev
1. утверждение, что это костыли, ещё надо доказать...

а зачем описывать их неявно, если можно явно?)

Alexey assdaswq
а зачем описывать их неявно, если можно явно?)

Вопрос на уровне "зачем писать на js, если можно писать на других языках". Тогда аргументация сводится к "DIP в JS не надо реализовывать, потмоу что не надо писать на JS вообще"

Alexey-assdaswq Автор вопроса
Grigorii K. Shartsev
Вопрос на уровне "зачем писать на js, если можно п...

вопрос "зачем писать ооп на жсе, если есть тс?"

Alexey assdaswq
вопрос "зачем писать ооп на жсе, если есть тс?"

Мне немного неудобно одновременно обсуждать и вопрос про DIP и вопрос про ООП. С первым пришли к консенсусу или ещё нет?

Alexey-assdaswq Автор вопроса
Grigorii K. Shartsev
Мне немного неудобно одновременно обсуждать и вопр...

ну у меня изначально такой вопрос и был, да, формально жс ОО, да МОЖНО костылить, я это не отрицал. но зачем?

Alexey assdaswq
ну у меня изначально такой вопрос и был, да, форма...

Я не понял, как этот вопрос относистя к моему вопросу...

Alexey-assdaswq Автор вопроса
Alexey assdaswq
ну так дип так обсуждаем в оо контексте)

Не понял, что под этим имеется в виду

Alexey-assdaswq Автор вопроса
Grigorii K. Shartsev
Не понял, что под этим имеется в виду

имеется в виду тоже самое, зачем на жсе делать костыли, если можно не делать? :D да, на жсе можно закостылить ОО абстракции, но зачем, если они есть в тсе?

Alexey assdaswq
имеется в виду тоже самое, зачем на жсе делать кос...

> имеется в виду тоже самое, зачем на жсе делать костыли, если можно не делать? :D В этот вопрос добавлено сразу два необоснованных утверждения. Это не костыли, а работа на языке с динамической утиной типизацией. У неё есть свои недостатки, такие же, как и при любой другой работе в языке. зачем - чтобы решать проблемы > если можно не делать Альтернативные решения не всегда есть, и не всегда лучше. Например, для мока в тестировании по философии nodejs плохо делать подмену работы require

Alexey-assdaswq Автор вопроса
Grigorii K. Shartsev
> имеется в виду тоже самое, зачем на жсе делать к...

да типизация тут не причем, конкретно если ты можешь написать "%KeyWord% %InterfaceName%" чтобы класс имплементил интерфейс, то все ок, а если приходится делать класс с названием интерфейса и как-то прокидывать его то это костылинг, тк в языке не предусмотрено чтобы ты этим занимался без пердолинга

Alexey assdaswq
да типизация тут не причем, конкретно если ты може...

> а если приходится делать класс с названием интерфейса и как-то прокидывать его то это костылинг Ок, не делаем так. Ещё есть проблемы?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта