Допустим, есть класс Player, который внутри себя хранит экземпляр интерфейса IWeapon.
Немного, не догоняю, как его реализовать в том случае, если я хочу поддерживать холодное оружие и огнестрельное.
Очевидно, что огнестрельное оружие имеет свои фишки: перезарядка и патроны, которых нету у холодного.
Есть мысль добавить помимо метода Attack() еще и :
IsReloadble
Bullets
Reload
Ну и получается, что Player если имеет IsReloadble IWeapon, то должен следить за пульками и в какие-то моменты перезаряжаться.
Ну что-то мне кажется, что это не совсем красиво выглядит...
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости