オンデマンド再検証で、パス指定とタグ指定はどう使い分けますか。
パス指定はこの画面を作り直す、タグ指定はこのデータを使っている場所を全部作り直すです。同じデータが一覧・詳細・トップに出るような場合は、タグでまとめて扱う方が漏れません。
面接官が見ているのは影響範囲の設計ができるか。
これは「キャッシュした内容を、更新されたタイミングで最新にしたい。どうしますか。」への追撃質問です。
よくある答えと、面談でどう見られるか
- パスは画面単位、タグはデータ単位。同じデータが複数画面に出るならタグ
更新側が表示側の画面構成を知らずに済むので、依存が減ります。 - パスの方が新しく推奨されているので、基本はパス
新旧の関係ではありません。影響範囲の指定方法が違うだけです。 - タグの方が確実なので、常にタグを使う
タグは強力ですが、付け忘れると効きません。1画面にしか出ないデータなら、パス指定の方が単純で追いやすいです。 - どちらでも同じなので、書きやすい方でよい
影響範囲が違います。同じデータが4画面に出ているとき、パス指定なら4か所書く必要があり、画面が増えるたびに漏れます。
面接官は何を見ているか
- パスは画面単位、タグはデータ単位、という軸を言えた
- 同じデータが複数画面に出る場合を考えられた
- 捨て漏れのリスクに触れた
模範解答
パス指定は「この画面を作り直す」、タグ指定は「このデータを使っている場所を全部作り直す」です。
同じデータが1画面にしか出ないならパス指定で十分です。単純で追いやすい。
問題は同じデータが複数箇所に出る場合です。商品情報が一覧・詳細・カート・管理画面に出ているとき、パス指定だと4か所すべてを書く必要があり、新しい画面が増えるたびに追加を忘れます。タグを付けておけば、更新側は「この商品のタグを捨てる」と書くだけで済みます。
設計としては、データを取得する側でタグを付けておき、更新する側はタグだけを知っていればよい形にします。更新側が表示側の画面構成を知らなくて済むので、依存が減ります。