SCSF Dependencia encargo Inyección
-
12-09-2019 - |
Pregunta
Me gustaría mejorar / imitan la inyección de dependencias hecho por el constructor de objetos para incluir algunas propiedades personalizadas
es la manera estándar
en mySmartPart.cs
[CreateNew] MyPresenter ABC { .... }
[ServiceDependency] myService XYZ { ... }
en incluir [MyCustomReferenceAttribute] CustomerObject MyCustomer { .... }
etc.
Esto, obviamente, se puede hacer una vez creada la smartPart pero supongo (esperando?) Que hay algún sitio donde pueda conectar alguna extensión de código para hacer lo necesario en vez de repetir el código everyplace !!!
Solución
Unidad / ObjectBuilder utiliza una cadena de patrón de responsabilidad llamó su Cadena de Estrategia. Puede plugin de sus propios pasos en esta cadena para obtener algún tipo de personalización de la forma en la Unidad / ObjectBuilder hace su construcción objeto.
Aquí hay más información sobre el diseño de la Unidad: http: // MSDN. microsoft.com/en-us/library/cc440939.aspx
Mi instinto dice que realmente quieren para reemplazar una gran parte de la Unidad. Creo que esto requeriría que destripar gran parte de esta cadena de estrategia y reemplazarlo con versiones personalizadas.
Dependiendo de lo que está tratando de lograr, es posible que simplemente heredar sus atributos de DependencyResolutionAttribute y justo añadir una estrategia para la StrategyChain. Así es como se configuran las estrategias predeterminadas (y también una lista completa de las estrategias que se utilizan en la Unidad: http://unity.codeplex.com/SourceControl/changeset/view/39621#427281
Sé que esto es una gran cantidad de información, pero espero que esto le da un par de direcciones.