МР>Собственно вопрос: паттерн Фабричный метод нарушает Single Responcibility Principle? (Согласно паттерну Фабричный метод в классе должен быть метод (виртуальный) для создания экземпляров класса (этого самого класса?)).
Я бы посоветовал почитать про high cohesion and low coupling. Можно про весь GRASP.
Если коротко, то пусть создает, если именно у этого класса и объекта есть знания о том, как правильно создавать.
https://www.yegor256.com/2016/04/05/printers-instead-of-getters.html
https://www.yegor256.com/2017/12/19/srp-is-hoax.html
Автор, конечно, экстремист, не всегда умелый тролль
и вообще неприятный тип, но кроме того, что он писатель, он еще и действующий инженер-программист.