Wzorce projektowe · Middle · Pytanie 21 z 75
Co prawo Demeter mówi o order.customer.address.city.name?
- ✓Poprawna odpowiedź: Kod wie o zbyt odległych obiektach - rozmawiaj z sąsiadami
- 2Łańcuch jest w porządku, jeśli wszystkie obiekty powstały w jednym module
- 3To naruszenie tylko przy użyciu optional chaining
?.
Wyjaśnienie
„Rozmawiaj tylko z przyjaciółmi”: długie łańcuchy wiążą kod z wnętrzem wielu obiektów, a zmiana któregokolwiek z nich psuje wywołującego. Rozwiązanie to metoda lub selektor typu getDeliveryCity(order).