Переосмысление SOLID: почему традиционные принципы проектирования не работают при разработке игр

Принципы SOLID (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion) - это общепризнанные рекомендации, разработанные для улучшения сопровождаемости и читаемости исходного кода программного обеспечения. Однако их применение в сфере разработки игр часто оказывается сложным из-за уникальных осо…

7.1K7.1K показов
5.1K5.1K открытий
11 репост

SRP вообще не про "класс должен иметь только одну ответственность". Он про то, что ради изменения одной функциональности не надо изменять более одного места в коде. То есть, не надо лазить по куче связанных классов в разных файлах для изменения одного аспекта.

LSP (он имени Барбары Лисков, а не Лискова) - он в первую очередь про соблюдение предусловий и постусловий.
Пример с боссом не в ту степь, но очевидно, что иерархия классов тут некорректная. Должно быть не Враг -> РядовойВраг -> Босс, а Враг -> РядовойВраг и Враг -> Босс.

ISP про то, что не должно быть огромного интерфейса IPlayer, который может всё, с единственной реализацией в классе Player. Должны быть мелкие интерфейсы навроде ICanMove, ICanInteract и так далее.

Ответить

ISP про то, что не должно быть огромного интерфейса IPlayer, который может всёМожно сделать фасад который буквально "может всё", внутри это будут те-же мелкие интерфейсы.

Ответить

для в LSP я обосрался хорошо что мне скинули статью

Ответить