Здравствуйте, barn_czn, Вы писали:
_>>>О какой цепочке речь? Где там в делегатах какие то цепочки?
V>>Делегаты можно соединять в цепочки. Механизм событий использует эту особенность делегатов для работы с множеством подписчиков.
_>Ну т.е. это снова аргумент за делегаты. _>Ни все так просто, сынок. Интерфейсы с одним методом есть в дотнете, и делегаты есть. И в этом же дотнете я знаю пример где такие интерфейсы уместны, и пример неуместного.
_>IDisposable — прекрасный интерфейс. в паре с using просто красота. _>IComparer — мука , писать на сортировочку целый класс, это мука.. к счастью для сортировки есть и способ с делегатом.
_>В примере топика интерфейс 100% неуместен, и не дает ни одного плюса. Аргументов против я так и не услышал.
Аргументы против чего? Какие плюсы? Реальность в том, что рабочий код может быть написан как угодно. С делегатами, с интерфейсами, с клубникой.
Но если мне приходится вникать в код, потому что сразу непонятно что он делает — я его стремлюсь переписать и сделать простым и понятным. Важную роль ещё играют общепринятые идиомы используемого языка — сюрпризов быть не должно — матрёшка из коллбеков идиомой сишарпа не является и выглядит чужеродно.
Здравствуйте, Vladek, Вы писали:
V>Здравствуйте, barn_czn, Вы писали:
_>>>>О какой цепочке речь? Где там в делегатах какие то цепочки?
V>>>Делегаты можно соединять в цепочки. Механизм событий использует эту особенность делегатов для работы с множеством подписчиков.
_>>Ну т.е. это снова аргумент за делегаты. _>>Ни все так просто, сынок. Интерфейсы с одним методом есть в дотнете, и делегаты есть. И в этом же дотнете я знаю пример где такие интерфейсы уместны, и пример неуместного.
_>>IDisposable — прекрасный интерфейс. в паре с using просто красота. _>>IComparer — мука , писать на сортировочку целый класс, это мука.. к счастью для сортировки есть и способ с делегатом.
_>>В примере топика интерфейс 100% неуместен, и не дает ни одного плюса. Аргументов против я так и не услышал.
V>Аргументы против чего? Какие плюсы? Реальность в том, что рабочий код может быть написан как угодно. С делегатами, с интерфейсами, с клубникой.
V>Но если мне приходится вникать в код, потому что сразу непонятно что он делает — я его стремлюсь переписать и сделать простым и понятным. Важную роль ещё играют общепринятые идиомы используемого языка — сюрпризов быть не должно — матрёшка из коллбеков идиомой сишарпа не является и выглядит чужеродно.
Вот именно! Что вы достигли предложив интерфейс вместо делегата? Ничего! Гвнокод остался гвнокодом, только вместо стандартной сигнатуры делегата еще какой то кустарный интерфейс, к которому клиент должен имплементацию приложить..