Так что, как и в каждом примере в сети, который я нашел для композиции темы по наследованию, будут предоставлены примеры с
Console.WriteLine("Do Something");
Однако большинство классов не просто вещи WriteLine.Довольно разумное количество логики - манипулирование данными.
Итак, допустим, у меня есть класс утки, который должен использовать поведение, а не наследование.У утки может быть вес, который влияет на ее FlyingBehavior (скорость, рост и т. Д.) И положение, которое необходимо обновить.
Теперь я вижу 3 возможности манипулирования информацией:
- Утка должна иметь свойства, передавать их по значению поведению и изменять их с помощью возвращаемого значения.
- Утка должна передавать поля по ссылке на поведение, и поведение обновит их.
- В поведении будут храниться переменные, связанные с полетом.
Существуют ли передовые методы работы с подобной ситуацией?