Когда я только начал разбираться в архитектуре, принципы SOLID казались мне не совсем понятны. Пять букв, пять идей, часть я понял сразу, часть сильно позже. Когда же я уже окончательно понял ее, меня остнило, что Мегагном из мультсериала Gravity Falls, монстр, собранного из гномов, каждый из которых выполняет свою роль - отличный пример данного принципа. Каждый гном в составе Мегагнома выполняет только одну задачу. Никто не делает всё сразу. Один гном — одна обязанность. Так и в хорошем коде: класс должен заниматься только тем, для чего он создан. Гномы в Мегагноме — это как модули. Если один из гномов устал или вышел из строя, его можно заменить другим, не трогая при этом всю систему. Хочешь вместо ноги, что ходит ту, что прыгает? Просто ставь нового гнома в слот "нога". Поведение расширяется, а старый код не переписывается. Хочешь, чтобы рука при команде "бей", сделала хук, а не джеб, поставь нужного гнома, и не парься. Или еще дальше. Скажи руке "действуй", и один тип руки ударит