Цитата:
Цитата:
|
Цитата:
Это не головные боли? Вот отсюда и возникают идеи ввести какие-то соглашения при взаимодейстии объектов |
Я уже писал
Цитата:
|
Цитата:
Вот написал я скрипт, вроде работает.:write: Кинул в папку к остальным исходникам. Через месяц запускаю, а он не работает:D Магия :) |
Цитата:
|
Приведу пример с интерфейсом IDisposable (как в C#), который имеет один метод Dispose.
Пусть у меня есть система, с большим кол-ом различных js классов. Во избежание утечек памяти у меня есть некий Manager для контроля всех ссылок на созданные объекты. Когда какой-то объект мне не нужен я вызываю у него метод Dispose, а будет ли он за собой чистить свои внутренние ресурсы, это уже его проблема. Т.е. здесь возникает такое соглашение: если Manager'у отдаётся на управление какой-то объект, то он должен реализовывать интерфейс IDisposable. Но как уже приводились ссылки в начале обсуждения, нужно просто проверить есть ли такой метод/свойство в объекте и если нету, то как вариант кидать Exception. |
Цитата:
Вы когда ручку на двери не заметите, за какое место хвататься будете, и если не знаете, в какую сторону дверь открывается? :) |
Цитата:
Что так-то проблемы быстро локализовать ни разу не помогает |
Цитата:
if (!obj.Dispose) throw new Error("Метод или свойство не реализовано"); И делать эту проверку в момент когда, один объект отдаётся другому. Тогда с локализацией проблем не будет. |
Цитата:
|
Часовой пояс GMT +3, время: 11:12. |