Замена наследования на аггрегирование и фасад
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 27.05.18 17:35
Оценка:
Есть ли простой синтаксис для проделывания этого (без написания тупого кода вручную и использования генераторов из библиотек для тестирования)?

т.е.

public class ObservableMyClass
{
    public void MyMethod1() { ... }
    public void MyProperty1 { get; set; }
}

public class MyClass
{
    ObservableMyClass myObject;
    public MyClass(ObservableMyClass myObject) { this.myObject = myObject; }
    public void MyMethod1() { myObject.MyMethod1(); }
    public void MyProperty1 { get {return myObject.MyProperty1;} set{myObject.MyProperty1 = value;} }
}


Не хотелось бы руками писать для каждого метода и свойства обёртку, и много внешнего кода тянуть.

Наследование мне нельзя, потому что объекты MyClass у меня связаны с объектами ObservableMyClass отношением N к 1, а не 1:1
Отредактировано 27.05.2018 17:49 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 27.05.2018 17:48 Эйнсток Файр . Предыдущая версия .
Отредактировано 27.05.2018 17:47 Эйнсток Файр . Предыдущая версия .
Отредактировано 27.05.2018 17:36 Эйнсток Файр . Предыдущая версия .
aggregate facade decorator
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.