Грубый код. IoC спешит на помощь

В вопросе о полезности контейнера 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(new NotifyPropertyChangedWrapper()); 

Вопросы:

  • Какой волшебный контейнер IoC обеспечивает это совершенство?
  • Пример реализации этого?
  • Есть ли недостатки?
  • Будет ли я плакать в проекте со сложными зависимостями, когда попытаюсь применить привязку данных к этим объектам?

21
задан Community 23 May 2017 в 12:33
поделиться