Relationship Constructor signature Meaning A needs B A(B b)Dependency A needs B at some point in the future A(Lazy<B> b)Delayed instantiation A needs B until some point in the future A(Owned<B> b)Controlled lifetime A needs to create instances of B A(Func<B> b)Dynamic instantiation A provides parameters of types X and Y to B A(Func<X,Y,B> b)Parameterisation A needs all the kinds of B A(IEnumerable