En question acerca de la utilidad de la COI de contenedores, el remitente ganar mencionó que con un contenedor IoC se puede tomar esto:Código de Cruft. COI al rescate
public class UglyCustomer : INotifyPropertyChanged
{
private string _firstName;
public string FirstName
{
get { return _firstName; }
set
{
string oldValue = _firstName;
_firstName = value;
if(oldValue != value)
OnPropertyChanged("FirstName");
}
}
private string _lastName;
public string LastName
{
get { return _lastName; }
set
{
string oldValue = value;
_lastName = value;
if(oldValue != value)
OnPropertyChanged("LastName");
}
}
}
a esto:
var bindingFriendlyInstance = IoC.Resolve<Customer>(new NotifyPropertyChangedWrapper());
Preguntas:
- ¿Qué contenedor mágico de IoC proporciona esta bondad?
- ¿Un ejemplo para implementar esto?
- ¿Alguna desventaja?
- En un proyecto con dependencias complejas, ¿estaré llorando cuando intente aplicar el enlace de datos a estos objetos?
Estoy bastante seguro de que la respuesta es solo molestarte con una "idea" en lugar de una implementación real. –
@chibacity. En ese caso, Ben Scheirman es un mejor provocador que cualquier prostituta que haya visto. (En una película, por supuesto). – AngryHacker
si necesitara un Cliente sin lógica, pero con DTO puro y notificaciones de cambio de propiedad, sería mejor declararlo como una interfaz, ICustomer, y no es gran cosa crear una clase concreta con generación de código dinámico. –