PHP - Container de dependente

Un DiC omoara SOLID.

Pentru un SOLID solid, foloseste DI (dependency inversion) cu injectie manuala a dependintelor. Eu unul prefer via constructor, deoarece atunci vezi clar dependintele, iar atunci cand un constructor devine prea complicat (primeste prea multi parametri):

  1. mai intai ma gandesc daca nu cumva doi sau mai multi parametri pot fi grupati intr-o alta clasa deoarece reprezinta un concept din application domain
  2. daca nu si nu, folosesc builder pattern

Din experientele mele, majoritatea se rezolva cu 1, la 2 se ajunge destul de rar (gen 1 data la 100-400 de clase).

DiC il tolerez in afara bibliotecii centrale a aplicatiei (cea care implementeaza application domain, care are business value), ca mijloc rapid de “masacrare” a oricarei biblioteci sau framework in care n-am incredere.

Pentru detalii, vezi raspunsurile de pe un alt topic:

3 Likes