私が試したことのあるiOSアプリでのソフトウェアアーキテクチャパターンとそれに関わるフレームワークの考察です。実際に使ってみて考えたことや感じたことを元に書いていきます。 基本のMVCコントローラが肥大化することやモデルレイヤーの設計が明確でないなどの問題があるといわれています。しかし、比較的小さいプロジェクトではたいてい肥大化の心配もモデルレイヤーの詳細な設計も必要ないのでMVCを選択すると良いと思います。 MVVMMVVMはビューとモデルを繋ぐビューモデルが重要な役割を果たします。問題は、画面遷移やモデルレイヤーの設計が示されていないことです。極端な例ですが、ビューモデルにAPIアクセスのコードを書いてしまい、ビューモデルが肥大化して問題になったという話を聞いたことがあります。MVVMを採用するほどのアプリになると画面遷移やモデルレイヤーの実装方法を規定すると良いのですが、MVC同様に