Пусть есть некоторый класс MyData, который представляет данные предметной области (например: Отчёт, Лабиринт, Игровая доска, ...)
Соответственно он предоставляет через свои методы данные внешним объектам (например данные отчёта, структуру лабиринта, позицию игрока, клетки доски и т.д.)
Вопрос в том куда помещать метод создания самого объекта класса MyData:
* в сам класс MyData
* в другой класс, например MyDataCreator
Если в сам класс MyData, то не нарушает ли это принцип SRP ?
Если другой класс, то не вносит ли это излишнюю сложность ?