Цитата:
|
В переменную moveBehavior помещается экземпляр стратегии Walk. При множестве викингов со стратегией Walk будут излишне дублироваться экземпляры этого класса стратегии.
|
Ну так это же просто пример.
Цитата:
|
Этого можно избежать если назначать moveBehavior не экземпляр, а ссылку на класс Стратегии.
|
Не обязательно. Кто Вам мешает один и тот же экземпляр класса Walk передать разным классам Vehicle? Если передавать класс, то получается два варианта: 1) каждый vehicle создает себе экзмепляр переданного класса, и мы получаем то, от чего ушли 2) есть статический метод move который и вызывается (не типизированно!!!). Но это тоже не вариант. На видео простой пример и там только одна функция move, а в жизни часто нужно гораздо больше функций и более того нужно хранить какие-то состояния, и как Вы собираетесь их хранить в статической функции не понятно... Ну наверное искрутиться можно будет, но зачем штаны через голову одевать?