, (, , IDisposable) , , factory, . , :
public interface IDbDataContextFactory
{
dbDataContext CreateNew();
}
:
public class SqlPupilBlockService
{
private IDbDataContextFactory contextFactory;
public SqlPupilBlockService(
IDbDataContextFactory contextFactory)
{
this.contextFactory = contextFactory;
}
public void DoSomeOperation()
{
using (var db = this.contextFactory.CreateNew())
{
}
}
}
, :
public class DbDataContextFactory : IDbDataContextFactory
{
public dbDataContext CreateNew()
{
return new dbDataContext();
}
}
:
Bind<IDbDataContextFactory>().To<DbDataContextFactory>();
factory , . .
UPDATE
, . , , (-). ; , , : . , .