В question о полезности контейнера IoC, победитель-заявитель отметил, что с контейнером IoC вы можете принять это:
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");
        }
    }
}
:
var bindingFriendlyInstance = IoC.Resolve<Customer>(new NotifyPropertyChangedWrapper()); 
Вопросы:
- Какой волшебный контейнер IoC обеспечивает эту доброту?
- Пример реализации этого?
- Любые недостатки?
- В проекте со сложными зависимостями я буду плакать, когда пытаюсь применить привязку данных к этим объектам?
