Если вы используете «композицию через наследование», где хранятся данные? - PullRequest
0 голосов
/ 12 апреля 2019

Так что, как и в каждом примере в сети, который я нашел для композиции темы по наследованию, будут предоставлены примеры с

Console.WriteLine("Do Something");

Однако большинство классов не просто вещи WriteLine.Довольно разумное количество логики - манипулирование данными.

Итак, допустим, у меня есть класс утки, который должен использовать поведение, а не наследование.У утки может быть вес, который влияет на ее FlyingBehavior (скорость, рост и т. Д.) И положение, которое необходимо обновить.

Теперь я вижу 3 возможности манипулирования информацией:

  1. Утка должна иметь свойства, передавать их по значению поведению и изменять их с помощью возвращаемого значения.
  2. Утка должна передавать поля по ссылке на поведение, и поведение обновит их.
  3. В поведении будут храниться переменные, связанные с полетом.

Существуют ли передовые методы работы с подобной ситуацией?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...