SergeyTeplyakov / DesignPatternsBook

Паттерны проектирования на платформе .NET
32 stars 2 forks source link

Врезка. Паттерн Dispose. Issues Part 2 #252

Closed SergeyUsok closed 9 years ago

SergeyUsok commented 9 years ago

может содержать ОДНОВРЕМЕННО управляемые и неуправляемые ресурсами

ресурсЫ

При этом основная работа по освобождению ресурсов делается в методе Dispose(bool) , который вызывается из метода Dispose и финализатора. При этом аргумент метода позволяет понять, откуда вызывается этот метод.

Дважды "при этом". Может второе предложение сделать продолжением первого? ...а аргумент disposing позволяет понять, откуда вызывается этот метод.

При вызове же его из финалатора, нет никаких гарантий, что управляемые ресурсы уже не были освобождены финалитором

  • "при вызове же" как-то тяжело читается
  • финализатором

нужно уделить не количеству кода в базовом классе, а на легкость и однозначность реализации наследников

а легкостИ и однозначаностИ

статья Джо Даффи (JoeDuffy) "DG Update: Dispoise, Finalization, and Resource Management

Dispose