[#] Exposable-паттерн. Независимые инжекции путём экспанирования
habrabot(difrex,1) — All
2015-04-26 22:30:02


_Disposable_ паттерн (интерфейс _IDisposable_) предполагает возможность высвобождения некоторых ресурсов, занимаемых объектом, путём вызова метода _Dispose_, ещё до того момента, когда все ссылки на экземпляр будут утрачены и сборщик мусора утилизирует его (хотя для надёжности вызов _Dispose _часто дублируется в финализаторе). Но существует также обратный _Exposable_ паттерн, когда ссылка на объект становится доступной до момента его полной инициализации. То есть экземпляр уже присутствует в памяти, частично проинициализирован и другие объекты ссылаются на него, но чтобы окончательно подготовить его к работе, нужно выполнить вызов метода _Expose_. Опять же данный вызов допустимо выполнять в конструкторе, что диаметрально вызову _Dispose_ в финализаторе. Само по себе наличие такой обратной симметрии выглядит красиво и естественно, но где это может пригодиться на практике постараемся раскрыть в этой статье. ![][1] [Читать дальше →][2]

[1]: //habrastorage.org/files/b24/129/b82/b24129b82a9e42fba40fddb01381c2dc.png
[2]: http://habrahabr.ru/post/256629/#habracut