I bean prototipo con parametri di costruzione sono anti-pattern?

0

Leggendo su questo, Misko Hevery ha detto "I newables possono chiedere per gli altri Newables nel loro costruttore, ma non per Injectables "

Ora mi sembra che la richiesta di un prototipo venga istanziata in fase di esecuzione, ad es. un contenitore Spring tramite ApplicationContext.getBean , passandogli gli argomenti da aggiungere come argomenti del costruttore, è concettualmente equivalente a new-up di un oggetto nel codice con gli argomenti del costruttore, ad esempio le dipendenze in fase di esecuzione.

Recentemente in primavera alcuni zuccheri sintattici nella forma @Lookup che consentono il passaggio dei parametri al costruttore da un'iniziativa descritta in è stato introdotto un blog per semplificare la procedura.

Avere un contenitore DI come Spring fa il lavoro dietro le quinte evita di mettere in discussione la regola di Misko: "I newables possono chiedere altri oggetti nuovi nel loro costruttore, ma non in Injevtables"?

Per la cronaca, sono d'accordo che questo aiuti notevolmente la testabilità. Ma c'è qualche supporto per questa affermazione oltre al blog di Misko Hevery?

Gli oggetti prototipo con scope costruiti in fase di esecuzione con argomenti del costruttore devono essere evitati o utilizzati con parsimonia?

Non mi interessa sapere se non basato sul fatto che è paragonato a un Localizzatore di servizi ma piuttosto a causa della regola di Misko Hevery menzionata.

    
posta blindcodifier9734 16.01.2015 - 20:58
fonte

0 risposte

Leggi altre domande sui tag