Когда ваша фабрика создает новые IDisposable
объекты, вызывающая сторона должна обычно располагать таким объектом. Рекомендуемый шаблон выглядит следующим образом:
using (var instance = Factory.CreateInstance(someArg))
{
// use the instance
}
Когда ваша Фабрика использует некоторый внутренний пул, все же рекомендуется разрешить вызывающей стороне уничтожить объект, но в этом случае, как только экземпляр будет удален, его следует вернуть в пул. Однако такой дизайн гораздо сложнее.