Po pierwsze, tworzenie powiązanych obiektów klas rzeczywiście może być realizowane przez nowe. Jednak gdy projekt jest zbyt duży, a obiekt ma zbyt wiele zależności, musimy napisać dużo nowego kodu podczas budowania obiektu, a może istnieć metoda bezpośredniego wywołania obiektu po zapomnieniu instancji niektórych obiektów zależnych, wtedy pojawi się wyjątek wskaźnika zerowego. Jeśli ten proces zostanie pozostawiony zarządzaniu kontenerami, nie będziemy musieli martwić się o instancję obiektów, a przy użyciu obiektów zależnych nie będzie wyjątków wskaźników zerowych w dowolnym momencie, a kod można uprościć. Po drugie, atrybuty używane w procesie wywoływania metody mogą być atrybutami instancji; jeśli wszystkie są zdefiniowane jako statyczne, to co z danymi używanymi w metodzie? Jeśli zdefiniujesz wszystkie metody jako statyczne, to właściwości klasy odwołanej w metodzie muszą być również zdefiniowane jako statyczne, co jest równoważne atrybutom globalnym, więc na pewno pojawią się problemy z synchronizacją danych. W rzeczywistości sensowne jest zastanowienie się nad zasadami programowania zawartymi w wzorcu projektowym, które mają na celu budowanie bardzo czytelnego, łatwego w utrzymaniu i skalowalnego kodu. Najlepsze życzenia!
Wygodne jest składanie oprogramowania w formie bloków budulcowych, a także tworzenie oprogramowania o wysokiej spójności i niskim sprzężeniu (wyciąganie zależności z kodu) Tworzenie we współpracy, debugowanie kodu (nie trzeba integrować komponentów, można je testować osobno) oraz sam kod jest bardziej rozbudowany.
Rozwój projektów kładzie uwagę na wysoką spójność i niskie sprzężenie, a zastosowanie wstrzyknięć zależności pozwala uniknąć użycia nowego obszaru słów kluczowych do tworzenia obiektów, co zmniejsza sprzężenie między klasami
|