https://docs.flutter.dev/app-architecture/guide
flutterのMVVMアーキテクチャの説明ではMをrepositoryとserviceとして、serviceをAPI等のエンドポイントをラップするクラスとしてrepositoryから呼び出しているのですが、このようなMVVMの構成って一般的ですか?
また外部とのやりとりをラップするクラスをserviceと名付けるプラクティスやデザインパターン等はあるのでしょうか?