generated at
複雑GUIにおけるRepositoryパターンの勘所

前提: ここでのRepositoryについて
Web APIや外部ストレージへのデータアクセスに関する責務を持つ
内部的にはRESTGraphQL、LocalStorageなどのインタフェースで実装される
---
経験上、GUIにおいて技術的な知識を隠蔽するという目的でレイヤードアーキテクチャにしてもペイすることは少ない
最近はスキーマ駆動開発がメジャーなのでAPIクライアントの自動生成もできる
Repository自体が自動生成されるものになっている
GUIにおけるRepositoryは「DBの抽象化」ではなく、「リソースの抽象化」である
CRUD操作の発想にとらわれるとスケールしない
ブログのアプリを作るとして
データ構造Web APIがきちんと設計されてればクライアントサイドでRepositoryが必要になることはほぼない
特に最近はコンポーネントの中でフェッチするのが主流
そこまでして守るべきビジネスロジックがフロントにはあまりない
シンプルにストア層とコンポーネント層をhooksでわけるぐらいでも十分なケースがある
レイヤを重ねても開発効率が落ちるだけな時も...
宣言的UIのデータ構造をシンプルにしたいなら、ドメインモデルPresentation Modelの構築を検討するほうが素直