Avatar
複数のリポジトリをコンテナに詰めると、型パラの数がどんどん増えていく
これについては、僕は依存を階層化して解決していますね。たとえ Existential を使ってコンストラクタインジェクションする場合でも、(型パラは付かないとはいえ)引数が増えすぎるので同じような階層化は必要だと思います。 protocol FooRepositoryProtocol { ... } protocol BarRepositoryProtocol { ... } protocol RepositoriesProtocol { associatedtype FooRepository: FooRepositoryProtocol associatedtype BarRepository: BarRepositoryProtocol } @MainActor final class QuxViewState<Repositories: RepositoriesProtocol>: ObservableObject { ... }