SCSF Dependency Injection personalizzato
-
12-09-2019 - |
Domanda
Mi piacerebbe migliorare / imitare l'iniezione di dipendenza fatta dal costruttore oggetto di includere alcune proprietà personalizzate
il modo standard è
in mySmartPart.cs
[CreateNew] MyPresenter ABC { .... }
[ServiceDependency] myService XYZ { ... }
in include [MyCustomReferenceAttribute] CustomerObject MyCustomer { .... }
ecc.
Questo può ovviamente essere fatto dopo aver creato lo SmartPart ma credo (sperando?) C'è un posto che posso agganciare qualche estensione codice per fare il necessario invece di ripetere il codice everyplace !!!
Soluzione
Unità / ObjectBuilder utilizza una catena di responsabilità modello chiamato la sua catena di strategia. È possibile plug propri passi in questa catena per ottenere po 'di personalizzazione di come Unità / ObjectBuilder fa la sua costruzione oggetto.
Ecco maggiori informazioni circa il disegno di Unità: http: // MSDN. microsoft.com/en-us/library/cc440939.aspx
Il mio istinto dice che siete veramente voglia di sostituire gran parte dell'Unità. Penso che questo richiederebbe di gut gran parte di questa catena di strategia e sostituirlo con versioni personalizzate.
A seconda di ciò che si sta cercando di realizzare, è possibile che semplicemente ereditare gli attributi da DependencyResolutionAttribute e solo aggiungi una strategia per la StrategyChain. Ecco come le strategie di default sono configurati (ed anche un elenco completo di strategie in uso in Unity: http://unity.codeplex.com/SourceControl/changeset/view/39621#427281
So che questo è un sacco di informazioni, ma spero che questo ti dà un paio di direzioni.