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

С каких пор SOLID стал набором жестких паттернов под конкретную

реализацию языка?
Это же набор принципов.
Да, их в свое время описали, и привели пример реализации на конкретных языках.
Но это не значит что SOLID должен в точь точь повторять реализацию этих принципов только определённого языка в любом другом.

Тот же DIP.
A. Модули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от абстракций.
B. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

Иии?? Где тут тут интерфейсы? Где проверка типов?
Вот шарпе они нужны при реализации DIP, потому что язык такой, и не более того. Повторюсь, то что реализация данного принципа в шарпе выглядит так, ДЫК потому что шапр такой, а не сам принцип.

Принципы универсальны, программист должен уметь их грамотно применять, учитывая особенности языка на котором реализует тот или иной принцип, а не тянуть все под копирку из "самогоМейнстрёмЯзыка"

2 ответов

17 просмотров

Ну некоторые принципы действительно мало применимы к языкам с динамической или утиной типизацией. Тот же L в утиной типизации

Эркин-Бахтушкин Автор вопроса
Grigorii K. Shartsev
Ну некоторые принципы действительно мало применимы...

Ну... вот, я вообще слабый программист-самоучка. И когда искал вдохновение в принципах программирования для проектировании бизнес-процессов будучи экономистом, то в руки попала как раз заметка про SOLID. Об ООП я тогда и духом еще не знал. L я изучал именно в трактовки Барбары. Абстракция должна быть чистой, четко определенной. Это достигается либо самим языком, если он строгий, или архитектурным принципом построения кода в случая утиной типизации.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта