Re[12]: И снова про equals и LSP
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.04.07 06:25
Оценка:
Здравствуйте, Курилка, Вы писали:
К>Вот и получаем, что "упираемся" по сути в .Net и ООП идеологию. На первый вопрос у тебя нет ответа?
Какой? Про неймспейс? Это недоработка языка. В следующем шарпе ея поправят. Будешь себе писать apples.Sort(appleComparer) и в ус не дуть. А то и вовсе apples.SortBy(apple => apple.Color);
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[13]: [OFFTOP]И снова про equals и LSP
От: Курилка Россия http://kirya.narod.ru/
Дата: 26.04.07 06:37
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Какой? Про неймспейс? Это недоработка языка. В следующем шарпе ея поправят. Будешь себе писать apples.Sort(appleComparer) и в ус не дуть. А то и вовсе apples.SortBy(apple => apple.Color);


Сенкс, правда на шарпе писать не уверен, что буду.
Плюс довольно странная с логической т.зр. сортировка (по меньшей мере для меня) — вот ты с ходу ответишь какой цвет больше пурпурный или оранжевый?
Т.е. не вижу как построить для цветов отношение порядка, чтоб оно было понятным человеку и непротиворечивым.
Re[14]: [OFFTOP]И снова про equals и LSP
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.04.07 06:48
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Сенкс, правда на шарпе писать не уверен, что буду.

Никто и не навязывает.
К>Плюс довольно странная с логической т.зр. сортировка (по меньшей мере для меня) — вот ты с ходу ответишь какой цвет больше пурпурный или оранжевый?
Это неважно. Не я придумал сортировать яблоки — не мне и критерий изобретать. Может, там червивость роль играет.
Главная идея OrderBy().ThenBy() — в том, что вместо функции, отображающей пару объектов на {-1, 0, 1}, используется функция, отображающая объект в ключ сортировки (предполагается, что для ключа компаратор уже существует). Иногда проще написать одно, иногда — другое.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[15]: [OFFTOP]И снова про equals и LSP
От: Курилка Россия http://kirya.narod.ru/
Дата: 26.04.07 06:56
Оценка:
Здравствуйте, Sinclair, Вы писали:

...

Ну эт всё ясно.
У меня вот к этому был вопрос/претензия:

К>+ зачем мне отдельный класс и инстанс компарера?
Как зачем? Для того, чтобы иметь возможность иметь разные компараторы. Разные инстансы могут иметь разное состояние, которое определяет их поведение.


Откуда в компараторе состояние? Если этим ты описываешь какие-то параметры сортировки, то ещё понятно.
Но это состоянием не будет, а правильней было бы только в конструкторе реализовывать, чтоб гарантировать иммутабельность компаратора.
Иначе работа сортировки будет зависеть от алгоритма сортировки, думаю, сам понимаешь, что такие эффекты "чреваты боком".
Re[14]: [OFFTOP]И снова про equals и LSP
От: fmiracle  
Дата: 26.04.07 07:10
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Плюс довольно странная с логической т.зр. сортировка (по меньшей мере для меня) — вот ты с ходу ответишь какой цвет больше пурпурный или оранжевый?

К>Т.е. не вижу как построить для цветов отношение порядка, чтоб оно было понятным человеку и непротиворечивым.

ОФФТОП: Например, есть понятие "цветовой температуры", т.е. до какой температуры надо разогреть тело, чтобы оно светилось данным цветом. Используется в некотрых областях и при определенном навыке становится понятным и непротиворечивым
Re[15]: [OFFTOP]И снова про equals и LSP
От: Курилка Россия http://kirya.narod.ru/
Дата: 26.04.07 07:15
Оценка:
Здравствуйте, fmiracle, Вы писали:

F>Здравствуйте, Курилка, Вы писали:


К>>Т.е. не вижу как построить для цветов отношение порядка, чтоб оно было понятным человеку и непротиворечивым.


F>ОФФТОП: Например, есть понятие "цветовой температуры", т.е. до какой температуры надо разогреть тело, чтобы оно светилось данным цветом. Используется в некотрых областях и при определенном навыке становится понятным и непротиворечивым


Ну для каких-нибудь физиков плазмы и чего-нибудь подобного это будет логично, но вот обычным людям это будет далеко не близко
Плюс что-то читал по поводу, что пурпурного цвета в спектре нет и он получается смешением цветов из разных участков. (Фактически наш мозг что-то такое делает, уже не помню чётко подробности)
Но, блин, хватит уже оффтопить
Re[16]: [OFFTOP]И снова про equals и LSP
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.04.07 07:22
Оценка:
Здравствуйте, Курилка, Вы писали:
К>Откуда в компараторе состояние? Если этим ты описываешь какие-то параметры сортировки, то ещё понятно.
Ага.
К>Но это состоянием не будет, а правильней было бы только в конструкторе реализовывать, чтоб гарантировать иммутабельность компаратора.
Ну, это конечно можно. Но я не уверен, что компаратор обязательно должен быть иммутабельным. В процессе сортировки его неизменность обеспечивается отсутствием меняющих состояние методов в его интерфейсе. Но совершенно необязательно требовать, чтобы компаратор в течение всего времени жизни был иммутабельным.

К>Иначе работа сортировки будет зависеть от алгоритма сортировки, думаю, сам понимаешь, что такие эффекты "чреваты боком".

Гм. Работа сортировки и так зависит от алгоритма сортировки.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[17]: [OFFTOP]И снова про equals и LSP
От: Курилка Россия http://kirya.narod.ru/
Дата: 26.04.07 07:36
Оценка:
Здравствуйте, Sinclair, Вы писали:

К>>Иначе работа сортировки будет зависеть от алгоритма сортировки, думаю, сам понимаешь, что такие эффекты "чреваты боком".

S>Гм. Работа сортировки и так зависит от алгоритма сортировки.
Ты имеешь в виду порядок элементов которые согласно компаратору равны? Ну это само собой.
Я же про другое — когда результат компаратора будет зависеть от меняющегося состояния (зависимого от предыдущих сравнений). Но это вообще будет какой-то полный абзац, конечно
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.