Bonjour,

Je suis en train de m'interesser au Pattern DIP.
J'ai une application contenant les couches suivants :
1 - DAL - Repository (projet)
2 - BLL - Model (Projet)
3 - Service Layer - Service (projet)
4 - Presentation Layer - Presentation (project)
5 - User Experience Layer - WebUI (projet)

Avant, la plupart de mes methodes et class etaient static afin que chaque couche puisse acceder facilement les unes aux autres, sachant que la couche Service par exemple ne voyait pas du tout la couche DAL car j'instancier mes object au seins des differents methodes de chaque couches.

Mais avec le pattern DIP, ce qui me derange c'est que c'est au niveau de la couche User experience que l'on instancie tous les objets necessaires afin de les passer en parametres car les couches ne prennent plus aucunes responsabilités, et par consequnet la couche user experience a acces à toutes les differentes couches afin de produire par exemple le code suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
 Repository.ProductRepository p = new Repository.ProductRepository();
Model.ProductService a = new Model.ProductService(p);
Service.ProductService w = new Service.ProductService(a);
_presenter = new ProductListPresenter(this, w);
Avant j'aurais fait plus ou moins
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
_presenter = new ProductListPresenter(this, Service.ProductService);
Ai-je bien compris ?

Merci à vous