一般的なMVVMのフォルダ構成
一般的なMVVMのフォルダ構成の一例は以下のようになる。
code:text
MyApp/
├── Models/
│ ├── TodoItem.swift
│ └── ...
├── Views/
│ ├── ContentView.swift
│ ├── TodoListView.swift
│ └── ...
├── ViewModels/
│ ├── TodoListViewModel.swift
│ └── ...
├── Utilities/
│ ├── DateUtility.swift
│ └── ...
└── AppDelegate.swift (or @main if using SwiftUI)
Models: データ構造やビジネスロジックを含む。
Views: UIコンポーネントや画面を構成する。
ViewModels: ViewとModelを繋ぐ役割。Viewが必要とするデータを加工。
Utilities: 便利な関数や共通のビジネスロジックを格納。
このような構造でプロジェクトを管理すると、見通しがよく、チームメンバーも迷わずにコードを追加や修正ができる。
また、テストもしやすくなるというメリットもある。