Re[7]: Оуеваю от кода коллеги
От: Vladek Россия Github
Дата: 25.04.19 14:13
Оценка:
Здравствуйте, barn_czn, Вы писали:

_>>>О какой цепочке речь? Где там в делегатах какие то цепочки?


V>>Делегаты можно соединять в цепочки. Механизм событий использует эту особенность делегатов для работы с множеством подписчиков.


_>Ну т.е. это снова аргумент за делегаты.

_>Ни все так просто, сынок. Интерфейсы с одним методом есть в дотнете, и делегаты есть. И в этом же дотнете я знаю пример где такие интерфейсы уместны, и пример неуместного.

_>IDisposable — прекрасный интерфейс. в паре с using просто красота.

_>IComparer — мука , писать на сортировочку целый класс, это мука.. к счастью для сортировки есть и способ с делегатом.

_>В примере топика интерфейс 100% неуместен, и не дает ни одного плюса. Аргументов против я так и не услышал.


Аргументы против чего? Какие плюсы? Реальность в том, что рабочий код может быть написан как угодно. С делегатами, с интерфейсами, с клубникой.

Но если мне приходится вникать в код, потому что сразу непонятно что он делает — я его стремлюсь переписать и сделать простым и понятным. Важную роль ещё играют общепринятые идиомы используемого языка — сюрпризов быть не должно — матрёшка из коллбеков идиомой сишарпа не является и выглядит чужеродно.
Re[8]: Оуеваю от кода коллеги
От: barn_czn  
Дата: 25.04.19 15:12
Оценка:
Здравствуйте, Vladek, Вы писали:

V>Здравствуйте, barn_czn, Вы писали:


_>>>>О какой цепочке речь? Где там в делегатах какие то цепочки?


V>>>Делегаты можно соединять в цепочки. Механизм событий использует эту особенность делегатов для работы с множеством подписчиков.


_>>Ну т.е. это снова аргумент за делегаты.

_>>Ни все так просто, сынок. Интерфейсы с одним методом есть в дотнете, и делегаты есть. И в этом же дотнете я знаю пример где такие интерфейсы уместны, и пример неуместного.

_>>IDisposable — прекрасный интерфейс. в паре с using просто красота.

_>>IComparer — мука , писать на сортировочку целый класс, это мука.. к счастью для сортировки есть и способ с делегатом.

_>>В примере топика интерфейс 100% неуместен, и не дает ни одного плюса. Аргументов против я так и не услышал.


V>Аргументы против чего? Какие плюсы? Реальность в том, что рабочий код может быть написан как угодно. С делегатами, с интерфейсами, с клубникой.


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


Вот именно! Что вы достигли предложив интерфейс вместо делегата? Ничего! Гвнокод остался гвнокодом, только вместо стандартной сигнатуры делегата еще какой то кустарный интерфейс, к которому клиент должен имплементацию приложить..
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.