По возможности стараться чтобы классы не зивисили друг от друга, чтобы у каждого класса была единственная зона ответственности. Внутри класса не использовать напрямую другие классы а использовать их через внедрения зависимости. Также, чтобы тестировать статические методы, можно оформлять эти классы, допустим, через репозиторий чтобы потом при тестировании можно было замокать эти методы