Pytania oznaczone «design-patterns»

20
Kiedy używać wzorca repozytorium

Niedawno przeczytałem, że stosowanie wzorca repozytorium w połączeniu z ORM nie jest dobrą praktyką. Z mojego zrozumienia wynika, że ​​abstrakcja, którą zapewniają w bazie danych SQL, jest zbyt nieszczelna, aby mogła zostać zawarta we wzorcu. Mam kilka pytań na ten temat: Co robisz, jeśli chcesz...

20
Różnica między wzorem a zasadą

Jaka jest różnica między wzorami projektowania obiektowego a zasadami? Czy to są różne rzeczy? O ile rozumiem, obaj starają się osiągnąć jakiś wspólny cel (np. Elastyczność). Czy mogę więc powiedzieć, że wzór jest zasadą i odwrotnie? Zasada projektu = SOLID (tj. Zasada inwersji zależności) Wzór...

20
Jakie są zalety wstrzykiwania zależności w przypadkach, gdy prawie wszyscy potrzebują dostępu do wspólnej struktury danych?

Istnieje wiele powodów, dla których globale są złe w OOP. Jeśli liczba lub rozmiar obiektów wymagających współdzielenia jest zbyt duża, aby można je było efektywnie przekazać w parametrach funkcji, zwykle wszyscy zalecają Wstrzykiwanie zależności zamiast obiektu globalnego. Jednak w przypadku,...

19
Wzory do przekazywania kontekstu przez łańcuch metod

Jest to decyzja projektowa, która wydaje się często pojawiać: jak przekazać kontekst za pomocą metody, która jej nie potrzebuje, do metody, która to robi. Czy istnieje poprawna odpowiedź, czy zależy to od kontekstu. Przykładowy kod, który wymaga rozwiązania // needs the dependency function...

19
Jak ważne są wzorce projektowe w programowaniu?

Jestem studentem uniwersytetu i właśnie zacząłem uczyć się o wzorach projektowych i staram się zrozumieć ich cel. Próbowałem je badać, ale wszystkie zasoby, które znalazłem, wydają się mówić o nich w sposób akademicki, a nie profesjonalny. Jaki jest ich cel i czy należy się ich...

18
Czy istnieją dowody na to, że zastosowanie wstrzykiwania zależności poprawia wyniki w inżynierii oprogramowania?

Niezależnie od popularności, czy istnieją jakieś dowody empiryczne, które pokazują, że wstrzykiwanie zależności (i / lub użycie kontenera DI) pomaga, powiedzmy, w zmniejszeniu liczby błędów, poprawie łatwości konserwacji lub zwiększeniu prędkości opracowywania rzeczywistych projektów...