Здравствуйте, IB, Вы писали:
T>>для сложных объектов (т.е. состоящих из нескольких полей) я себе этого не представляю
IB>Ну и напрасно, имеет смысл представить. От количества полей тут ничего не зависит.
если вас не затруднит — прочтите пожалуйста соседнее мое сообщение по этому поводу Sinclair'у
T>>ну мы ведь не на лиспе пишем сферического коня в вакууме. в том и проблема
IB>На лиспе, к слову GC в .Net написан, так что не надо про сферических коней.. )
на сколько я помню, на лиспе писался только первый вариант GC. и, как сказал автор, "потому что у лиспа такой прикольный синтаксис!"

(к сожалению не могу найти ссылку на источник с цитатой)
кроме того, GC это просто реализация некоего алгоритма. логика известна, структуры данных известны, и ничего
никогда не поменяется. хоть на голом Си пиши и вылизывай до бесконечности профайлером. и практически плевать на maintainability
сферический конь и есть
T>> просто в нашем случае по крайней мере известно где искать грабли
IB>Я предпочитаю, чтобы за меня их находил компилятор.
T>>любому нормальному человеку, пишущему код на основе жирной модели никогда не придет в голову делать поле ID writable. потому что в этом нет никакой необходимости
IB>Ты сам себе противоречишь. Почему в одном случае ID обязательно делать изменяемым, чтобы избежать каких-то мифических проблем с immutable, а в другом этого делать нет никакой необходимости?
похоже мы друг-друга не понимаем. приведите пожалуйста на всякий случай свое определение термина immutable. я лично считаю что объект immutable в том случае, если после создания его поля никогда не меняются. ни "изнутри" объекта, ни снаружи какими-то "менеджерами". а Вы?