Вооот. О чем я и написал в статье. Что каноны в ООП каждый устанавливает сам для себя. Я ничего не нарушил, потому что ООП
не обязывает использовать эти три кита повсеместно, а дает возможность. Только и всего.
Точнее сказать не дет возможность, а
не запрещает. А то, что ООП запрещает, ты там не найдешь. Вернее есть
одно место, но это я писал уже после того, как закрыл эксперимент.
Теперь по пунктам. По трем китам.
Вот вам
наследование.
Или вот, если не нравится наследование от нативных классов. Там еще полно.
Вот вам полиморфизм.
Вот вам инкапсуляция. Она там вообще повсеместно.
Вот тебе дороговизна стульев для трудящихся всех стран! Вот тебе ночные прогулки по девочкам! Вот тебе седина в бороду! Вот тебе бес в ребро!
Там даже инверсия зависимостей реализована где ни поподя (к вопросу о подмене). А если вникнуть, то там
все на инверсии сделано.
Так какие каноны я нарушил? Декомпозицию не предусмотрел? Она тоже обязательный аттрибут? Это всего навсего паттерн.
Если брать твои драконовские каноны, то да. Не по ним написано. Так о том и речь, что нет никаких общих канонов. Сколько людей, столько
мнений и разных ООП.

Давай может поспорим, чей кунг-фу лучше?
А теперь моя очередь. Раз не пишешь, то и не говори, что они по нескольку суток работают.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.