Это также вопрос предпочтений.Теоретически, проходить уровни так, как вы делаете, совершенно нормально.В качестве альтернативы, если вам нужно больше, чем просто установить уровни, но обеспечить дополнительные функциональные возможности (то есть также сохранение уровней), я обычно использую отдельный класс, отвечающий за обработку таких вещей (например, Repository, некоторый класс "Manager" и т. Д.).Этот класс затем передается в View конструктора, предпочтительно, если его нужно предоставить.Конечно, чтобы разделить вещи, я использую интерфейсы, а не конкретные реализации, тогда это может выглядеть следующим образом:
public class MyView {
public MyView(ILevelLoader levelLoader){
this.levelLoader = levelLoader;
}
...
}
Часто это может не сработать, потому что представление является чем-то, что создается инфраструктурой напрямую.а не приложением.В такой ситуации вы вынуждены делать это с помощью соответствующего установщика.Это своего рода шаблон MVC / MVP.
Только для вашего интереса, вы также можете взглянуть на контейнеры IoC и внедрение зависимостей. Guice , предоставленный Google, - это хороший фреймворк, который я уже использовал на Android.