I have a class (MyFacade
) that I injected parameter(s) with Ninject
:
class MyFacade
{
IDemoInterface demo;
public MyFacade(IDemoInterface demo)
{
this.demo = demo;
}
public void MyMethod()
{
Console.WriteLine(demo.GetInfo());
}
}
Of course, I have to setup the Ninject
to inject the appropiate implementation of my parameter (IDemoInterface
)
I know, I can instantiate MyFacade
object by doing kernel.Get<MyFacade>();
without setting anything else. Currently my facade doesn't have an interface (because it is my only implementation, maybe I will add its interface for standard proposes)
if I want to make this facade singlenton, I know two ways: create a empty constructor and pass a parameter by doing this kernel.Get<IDemoInterface>();
or by setup Ninject like: kernel.Bind<MyFacade>().To<MyFacade>().InSingletonScope();
The second one look a better approach, but do you know any other way to setup it in a singleton way?
kernel.Bind<MyFacade>().ToSelf().InSingletonScope();
– Ludewig