Serdar ben hiç routing işlemini class ile yapmadım ama şu yapıyı çok kullanıyorum. oluşturuduğum bir InheritedWidget sınıfına kullaniciadi ve şifre değişkenlerini boş olarak tanımlıyorum. main kısmında da uygulamayı bu InheritedWidget ın bir childı olarak çalıştırıyorum. login işleminde bu InheritedWidgetdeğişkenlerini eklersen yani mesela ömer kalfa user olarak giriş yaptığında bunu InhertedWdiget ın kullanıcıadi olarak da tanımlarsan bu kullaniciadini her yerde her şekilde kullanırsın. mesela
if(InhertedWidget.of(context).kullaniciadi == user1 ){
Navigator.push(context, MaterialPageRoute(builder: (context)=>Page1()))
} else if (InhertedWidget.of(context).kullaniciadi == user2){
Navigator.push(context, MaterialPageRoute(builder: (context)=>Page2()))
} gibi.
dediğim gibi buna istediğin koşulu ekleyebilir ve her yerde kullanabilirsin. hatta her koşul için bu yapıyı kullanabilirsin. ben renk seçimi yada görünürlük için bile bu yapıyı kullanıyorum.