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 !!!

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top