Принципы SOLID (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion) - это общепризнанные рекомендации, разработанные для улучшения сопровождаемости и читаемости исходного кода программного обеспечения. Однако их применение в сфере разработки игр часто оказывается сложным из-за уникальных осо…
SRP вообще не про "класс должен иметь только одну ответственность". Он про то, что ради изменения одной функциональности не надо изменять более одного места в коде. То есть, не надо лазить по куче связанных классов в разных файлах для изменения одного аспекта.
LSP (он имени Барбары Лисков, а не Лискова) - он в первую очередь про соблюдение предусловий и постусловий.
Пример с боссом не в ту степь, но очевидно, что иерархия классов тут некорректная. Должно быть не Враг -> РядовойВраг -> Босс, а Враг -> РядовойВраг и Враг -> Босс.
ISP про то, что не должно быть огромного интерфейса IPlayer, который может всё, с единственной реализацией в классе Player. Должны быть мелкие интерфейсы навроде ICanMove, ICanInteract и так далее.
ISP про то, что не должно быть огромного интерфейса IPlayer, который может всёМожно сделать фасад который буквально "может всё", внутри это будут те-же мелкие интерфейсы.
для в LSP я обосрался хорошо что мне скинули статью