Сообщение от krutoy
|
Слушай, честно, мне лень разбирать примеры "вечного двигателя". Понять бессмысленность данной затеи легко. Смотри. В JS объект получается по ссылке. Легко понять, что закэшировать его можно только одним способом -- сохранив ссылку на него в кэше. Естественно, если объект меняется, то из кэша ты получаешь неактуальные значения. Этого понимания достаточно, чтобы прекратить эти нелепые попытки
Но это не значит, что мы не можем кэшировать какие то частные случаи. Например, можно часть объектов сделать неизмняемыми. чтоб они работали как простые хэши, можно работать с примитивами, не вызывая их в объектном контексте, и т.п. Это сделать легко.
|
смотри: есть объект, есть его состояние, кешируем ссылку на объект и его состояние, если ни ссылка, ни состояние не изменилось, можно обращаться к кешу
в моём последнем примере как раз так и делается, с учётом того, что ссылку сохранить не проблема, а сохранение состояния можно реализовывать с различной степенью сложности