iOSアプリ開発(Swift)におけるパッケージ構成について
iOS開発を行う際にパッケージ構成について悩んで、考えてみました。
まず結論としてこのようなパッケージ構成としました。
├── アプリ名
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ └── LaunchScreen.imageset
│ ├── Classes
│ │ ├── Data
│ │ │ ├── Constant
│ │ │ └── SampleData
│ │ └── Feature
│ │ ├── Base
│ │ │ └── 共通処理
│ │ ├── 機能A名
│ │ │ ├── Model
│ │ │ ├── View
│ │ │ ├── ViewController
│ │ │ └── ViewModel
│ │ ├── 機能B名
│ │ │ ├── Model
│ │ │ ├── View
│ │ │ ├── ViewController
│ │ │ └── ViewModel
│ │ ├── 機能C名
│ │ │ ├── Model
│ │ │ ├── View
│ │ │ ├── ViewController
│ │ │ └── ViewModel
│ │ └── 機能D名
│ └── Configurations
│ └── Debug
こんな感じです。
ディレクトリ名から察した内容のものが入ってます。
パッケージ構成については、どこのサイトもパッとせず(あんまり載せてるとこがない)ので
何が正解かはわからないですが、とりあえず各役割ごとにわけ、保守のしやすさを考えて構成しました。
アプリ開発する中でパッケージ構成に悩んでいる方が入ればぜひ参考にしてみてください。