Андрей
во flutter’е нет никаких правил к структурированию кода, только опциональные рекомендации, можешь использовать как хочешь, есть разные подходы к state management’у: bloc, mobx, redux, provider, можешь посмотреть на youtube канал reso coder, у него есть курсы clean architecture и domain что-то там)) (DDD) конкретно по структурированию приложения
Да правил то, собственно, нигде нет, но есть широко используемые подходы, так сказать. В android балом правит mvvm, например. За канал спасибо, выглядит интересно.