Deutsch

C# - pattern matching - many discards

10471   5 6 7 8 9 10 11 12 13 14 15 все
alex445 коренной житель06.03.24 20:15
NEW 06.03.24 20:15 
в ответ Программист 06.03.24 16:32

Эвенты используют делегаты, но разница между ними огромна.

Если в 2-х словах:

An Event declaration adds a layer of abstraction and protection on the delegate instance. This protection prevents clients of the delegate from resetting the delegate and its invocation list and only allows adding or removing targets from the invocation list.

Надо такой вопрос на собесах задавать, когда хочешь кого-то завалить. Особенно пояснить за "огромна", хотя всё объясняется в "двух словах".

alex445 коренной житель06.03.24 20:18
NEW 06.03.24 20:18 
в ответ Программист 06.03.24 16:35, Последний раз изменено 06.03.24 20:43 (alex445)
Просто для сеньоров-помидоров SOLID не пустой звук.

Там больше половины - маркетинг для сектантов, чтобы по сцене ходить и втирать, и лишь небольшая оставшаяся часть катит. ))


Проблема этого солида в том, что его можно слишком широко интерпретировать. Это просто мантры с возможностью широкого толкования. Ляпнуть со сцены с примерами из разряда песочниц - это одно. А сделать и применить это всё правильно в реальном коде в конкретных ситуациях - другое. И у каждого перезрелого помидора своё видение этого солида. Посади пачку помидоров в одну теплицу - они же передеруться, и каждый другого выгонит из профессии. ))

alex445 коренной житель06.03.24 20:24
NEW 06.03.24 20:24 
в ответ AlexNek 06.03.24 17:46
Уверен, что если Вы чуть больше подумаете в этом направлении (убрать нахрен эти делегаты), то наверняка найдете более разумное решение.

Делегаты лучше ваших сраных инжекций, т.к. не требуют создания дополнительного объекта для вызова функций. Можно цеплять функции напрямую. Вообще, есть поверье, что инжекции изобрели (или развили до маразма) всякие джависты, у которых на заре Джавы не было нормальных инструментов в языке, типа делегатов. А может и сейчас нет - кто этих отщепенцев знает. ))

Fleitist прохожий06.03.24 20:44
NEW 06.03.24 20:44 
в ответ alex445 05.03.24 19:19
В некоторых случаях удобно писать, группируя по смыслу - поля и свойства, например. Т.е. приватную и публичную часть рядом друг с другом.

Думаю , когда вы поймете, для чего именно разделяли и разделяют публичную и приватную части в имплементации и расставите верно приоритеты в своем подходе к разработке кода, вы сможете претендовать на существенную прибавку к своей зарплате (но это не точно, но я так думаю) :)

alex445 коренной житель06.03.24 20:47
NEW 06.03.24 20:47 
в ответ Fleitist 06.03.24 20:44, Последний раз изменено 06.03.24 20:49 (alex445)

И для чего же? Для внешнего потребителя класса пофиг, как там внутри всё расставлено - он видит лишь публичную часть. А для разработчика этого класса всё должно быть расставлено так, как ему удобно, а не как кто-то со сцены наплёл.


Если вопрос о повышении моей зарплаты будет решаться по тому, как я расставляю всякую фигню в своих классах, мне лучше уйти из этого места... Хотя, если за простую расстановку всякой фигни можно получить сверху неплохо так денег - почему бы, чёрт возьми, и нет? Ну хочет кто-то платить за фарисейство - пожалуйста. Пока не найду вариант получше.

Fleitist прохожий06.03.24 20:48
NEW 06.03.24 20:48 
в ответ alex445 06.03.24 20:24
Вообще, есть поверье, что инжекции изобрели (или развили до маразма) всякие джависты, у которых на заре Джавы не было нормальных инструментов в языке, типа делегатов.

Бррр, как все запущено:)

alex445 коренной житель06.03.24 21:02
NEW 06.03.24 21:02 
в ответ Fleitist 06.03.24 20:48, Последний раз изменено 06.03.24 21:07 (alex445)

12 год - да наф нам не нужон этот ваш делегат.

14 год - Джава 8 представляет лямбды и ссылки на методы.


Можно ещё тут почитать срачи.

Короче, городили паттерны богу паттерны из-за отсутствия нормальных инструментов. Инструменты появились, а говнопаттерны остались. Вышедшие в тираж старички попёрлись на сцены вещать о своих старых паттернах, хотя новые инструменты позволяют зачастую выбросить это старое дерьмо на помойку. Не всё, конечно, но некоторое.

AlexNek патриот06.03.24 21:29
AlexNek
NEW 06.03.24 21:29 
в ответ alex445 06.03.24 20:24
Делегаты лучше ваших сраных инжекций, ...

откуда такая агрессия?

Если считаете, что ваше решение самое лучшее, ну так пожалуйста, нам не жалко.

Жалко будет тех кто придёт потом, но это также не наша проблема.

Я думал, что всегда хорошо глянуть на проблему с разных сторон.

AlexNek патриот06.03.24 21:37
AlexNek
NEW 06.03.24 21:37 
в ответ alex445 06.03.24 20:47
для разработчика этого класса всё должно быть расставлено так, как ЕМУ удобно,

Вот пожалуй в этом и есть вся суть данной дискуссии.


А удобно то должно быть команде, как текущей так и следующей. И это самый минимум, что хочется иметь от хорошего кода.


AlexNek патриот06.03.24 21:40
AlexNek
NEW 06.03.24 21:40 
в ответ alex445 06.03.24 21:02
Короче, городили паттерны богу паттерны из-за отсутствия нормальных инструментов

Понятно. Банда четырёх с автоматами еще не попадалась на пути спок

alex445 коренной житель06.03.24 21:51
NEW 06.03.24 21:51 
в ответ AlexNek 06.03.24 21:29, Последний раз изменено 06.03.24 21:54 (alex445)
откуда такая агрессия?

Это не агрессия, это "добавить перчику в бульон - для вкуса". Это я только в интернете такой, а в жизни ваще нифига не агрессивный. ))


Если считаете, что ваше решение самое лучшее, ну так пожалуйста, нам не жалко.

Мне этого мало. Я хочу влезть в чужой монастырь, разнести там всё, и заставить всех плясать под свою дудку. Шутка.

AlexNek патриот06.03.24 22:00
AlexNek
NEW 06.03.24 22:00 
в ответ alex445 06.03.24 21:51
Это я только в интернете такой

Реального персонажа дано знать не всем, поэтому впечатления остаются интернетные.

Ну типа: Ложки-то нашлись, а осадок остался

alex445 коренной житель06.03.24 22:05
NEW 06.03.24 22:05 
в ответ AlexNek 06.03.24 21:40
Короче, городили паттерны богу паттерны из-за отсутствия нормальных инструментов

Понятно. Банда четырёх с автоматами еще не попадалась на пути

Почему не попадалась? Где-то в таком месте встречал.

alex445 коренной житель06.03.24 22:06
NEW 06.03.24 22:06 
в ответ AlexNek 06.03.24 22:00, Последний раз изменено 06.03.24 22:08 (alex445)
Это я только в интернете такой
Реального персонажа дано знать не всем, поэтому впечатления остаются интернетные.
Ну типа: Ложки-то нашлись, а осадок остался

Так вы не узнаете, что это я к вам пришёл. Мало ли всяких Алексов вокруг шляется. Ну или можете сделать вид, что не узнали.

AlexNek патриот06.03.24 22:15
AlexNek
NEW 06.03.24 22:15 
в ответ alex445 06.03.24 22:05
Где-то в таком месте встречал.

ну так поэтому и высказывается данное мнение, потому как если бы остался автомат перед глазами, подобных высказываний бы не было. бебе

Fleitist прохожий06.03.24 22:58
NEW 06.03.24 22:58 
в ответ alex445 06.03.24 22:06
Так вы не узнаете, что это я к вам пришёл.

Узнаем, узнаем. Тут один приходил на интервью, говорил, что лучший разработчик в мире, так как его на гитхабе котируют дюже. Токсичный, наглый, короче всех старперами обзывал и революцию в матрице обещал. Не взяли, увы. Не вы были?:)

alex445 коренной житель06.03.24 23:51
NEW 06.03.24 23:51 
в ответ Fleitist 06.03.24 22:58

Не, то был не я. Я у вас за спиной стою. НЕ ОБОРАЧИВАЙТЕСЬ!

Срыв покровов патриот07.03.24 06:41
NEW 07.03.24 06:41 
в ответ alex445 06.03.24 23:51

да, Алекс, тяжело тебе со староверами общаться, сочувствую.


Я на русском программирование не учил, делегаты это все что Func<…> и Action<…>?

Программист коренной житель07.03.24 08:04
NEW 07.03.24 08:04 
в ответ alex445 06.03.24 20:15
Надо такой вопрос на собесах задавать, когда хочешь кого-то завалить.

Если кандидат не знает почему для нотификации следует использовать эвенты, а не делегаты, то гнать в шею надо такого кандидата :)

А если программист повсеместно использует делегаты, то надо гнать в шею такого программиста. Все просто.

Программист коренной житель07.03.24 08:07
NEW 07.03.24 08:07 
в ответ alex445 06.03.24 20:24, Последний раз изменено 07.03.24 08:08 (Программист)
Делегаты лучше ваших сраных инжекций, т.к. не требуют создания дополнительного объекта для вызова функций. Можно цеплять функции напрямую.

Еще раз. Зачем у тебя вообще есть разные классы?

Сделай себе контейнер с делегатами и замени 99% кода на этот контейнер.


Вообще, есть поверье, что инжекции изобрели (или развили до маразма) всякие джависты, у которых на заре Джавы не было нормальных инструментов в языке, типа делегатов.

Инжекты нужны для того, чтобы была возможность подменять объекты. Это активно используется как продуктивном коде, так и в тестировании.

5 6 7 8 9 10 11 12 13 14 15 все