É sempre bom discutir sobre esses assuntos. Lendo seu artigo eu ate compreendo o seu raciocínio, mas discordo.
Eu não o conheço e não sei que projetos ja trabalhou mas me pareceu que voce tem o entendimento dos princípios de forma "vaga" (sem ofensa aqui)
Single Responsability por exemplo, você disse que era vago. obvio, não existe uma regra que possa ser usada para classificar as funcionalidades e saber de forma clara se elas entram ou não. Mas por isso é um princípio e ele so diz que você precisa EVITAR criar uma classe que executa uma determinada logica de negócio e tambem envia um email para um cliente. A mas o envio faz parte do processo de fato pode fazer. Mas a casse so precisa de uma INTERFACE na qual ela sabe que deve mandar x parâmetros e o email devera ser enviado. Ela nao deve saber qual é a implementação da logica de envio de e-mail.
Esse princípio faz muito sentido e ajuda a criar aplicações mais limpas e dedacopladas.