Skip to content

Commit

Permalink
add_posts/2025-01-01
Browse files Browse the repository at this point in the history
  • Loading branch information
hogucc committed Jan 1, 2025
1 parent 0da1614 commit 3deaac1
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions _posts/2025-01-01-til.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
layout: post
title: 2025-01-01 ポリモーフィック関連
---

# ポリモーフィック関連

ポリモーフィック関連になっているものは同じ型として扱えなければいけない。

なのでコード上でポリモーフィック関連を表現する場合はインターフェイスを明示したメソッドを作り、それを各クラスでオーバーライドするのが良さそう。

そもそもポリモーフィック関連自体アンチパターンと言われている。
テーブル上は関連する対象の型を保存するtype型とそのIDを保持しており、typeによってどのテーブルと紐づいているかが動的に決まるため外部キー制約が効かない。
そのため誤ったデータが保存されても気づけない。
RailsのようにFWでポリモーフィック関連のしくみがサポートされていなければ使わない方が良さそう

0 comments on commit 3deaac1

Please sign in to comment.