В question о пользе 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<Customer>(new NotifyPropertyChangedWrapper());
Вопросы:
- Какой волшебный контейнер IoC обеспечивает это доброту?
- Пример реализации этого?
- Любые недостатки?
- В проекте со сложными зависимостями, буду ли я плакать, когда пытаюсь применить привязку данных к этим объектам?
Я уверен, что ответ просто дразнит вас «идеей», а не реальной реализацией. –
@chibacity. В этом случае Бен Шейрман лучше дразнит, чем любой проститутка, которого я когда-либо видел. (В кино, конечно). – AngryHacker
, если вам нужен Клиент без каких-либо логических, но чистых уведомлений об изменении DTO и изменения свойств, было бы лучше объявить его как интерфейс, ICustomer, и это не так уж важно для создания конкретного класса с генерацией динамического кода. –