Ответ: Программное самоубийство
1) reference counter форева
2) в случае если убийство описано в методе интерфейсного класса то удаление из менеджера нельзя сделать по логике вещей (хотя физически можно, только это говнокод), ибо мы пишем просто структуру для хранения данных и методы работы с ней
3) удаление надо описывать в классе который имеет возможность работать с манагером
4) хороший тон удалять через манагер, без самоубийств, тогда не нарушается архитектура зависимостей
для некоторых вещей я считерил, к примеру для ресурсов игры бывает такая ситуация что огромную текстуру загрузят, потом откажутся от её использования, а через 4 секунды опять загрузят, делаем чтобы менеджер тоже получал reference на объект, тогда если все откажутся от объекта то всё равно будет один reference - сам манагер, он по этому и определяет нужна кому-то текстура или нет, и когда от неё отказались, сколько времени стоила загрузка и стоит ли выгружать тогда
|