Cześć Wam wszystkim!
Moje zapytanie bądź zaproszenie do pewnego rodzaju dyskusji kieruję do bardziej doświadczonych użytkowników forum, którzy programują już swobodnie z zasadami SOLID i dobrze rozumieją mechanizmy Dependency Inversion oraz Dependency Injection.
Przykład na start do zobrazowania problemu:
class MyOwnList { private: List<MyAnotherClass> list; public: //FirstPossibleConstructor MyOwnList() { list = new List<MyAnotherClass>(); } //SecondPossibleConstructor MyOwnList(List<MyAnotherClass> list) { this.list = list; } }
W świetle Dependency Inversion nie tworzymy bezpośrednio w klasie A obiektów klasy B i działamy na poziomie abstrakcji.(Konstruktor 2 w przykładzie). JEDNAKŻE, jak to się ma do Standardowych kolekcji danego języka a nie do własnych innych typów?
Zapraszam do podzielenia się ze mną swoimi zdaniami i doświadczeniem w przedstawionej przeze mnie kwestii:
Stosując się do zasady Dependency Inversion powinniśmy skorzystać z Kostruktora 1 czy 2 z przykładu zamieszczonego przeze mnie powyżej?
Pozdrawiam :D