I'm a little bit confused around Constructor Injection pattern and rule Don’t call the container; it’ll call you.
Can somebody explain me (and maybe someone else) how real application should derive all DI advantage using Constructor Injection ? I give for that some simple and i think common example:
DomainObject
RepositoryObject
DaoObject
The relations is obvious (I think) - RepositoryObject need DaoObject,DomainObject need Repository.
Using Constructor Injection I assume that I can forget (in most cases) about NEW keyword, but when, where and how should I create new objects (mainly domain)? I must write factories for all classes? Should I refer to DI Container in that factory?
The best will be when somebody show me some real app example (please not Asp.Net MVC :) ) or sketch some project structure.