Dove si trova la radice di composizione per le classi interne di una libreria di classi?

1

Come gestiamo l'iniezione di dipendenza nelle librerie di classi? Data la seguente struttura di classe, vorremmo iniettare un'istanza di Bar in Foo , e preferiremmo non farne la responsabilità del cliente.

namespace MyLibrary {

    export class Foo {

        private readonly bar: Internal.Bar;

        constructor(bar: Internal.Bar) {
            this.bar = bar;
        }
    }
}

namespace Internal { 

    export class Bar { }
}

Se esistesse un framework che gestiva l'iniezione delle dipendenze, ci affideremmo a tale framework per fornire un'istanza di Bar . Se esistesse un metodo principale, avremmo reinventato tutte le dipendenze presenti. Nel caso di una libreria di classi, tuttavia, dove istanziamo Bar ?

In altre parole, dove inseriamo la radice di composizione di una libreria di classi?

    
posta Shaun Luttin 26.04.2017 - 00:29
fonte

1 risposta

1

La composizione root dovrebbe essere ovunque tu abbia iniziato a utilizzare le classi nella tua libreria dall'applicazione chiamante tramite l'integrazione delle dipendenze.

    
risposta data 26.04.2017 - 09:06
fonte

Leggi altre domande sui tag