MAB ContainerModel / Funq: a transparent container
From the point of view of the user of the container, he doesn't have to do anything at all. He just creates classes as usual:
public class EditCustomersPresenter { public EditCustomersPresenter(IEditCustomersView view, ICustomerRepository repository) { this.view = view; this.repository = repository; view.Presenter = this; } ... }
Container configuration is done through lambdas that specify which object to construct for the registered type. For the view used by this presenter (an EditCustomersView form), it would look like: ...