⚠️
アンチパターンコード品質リファクタリング 2026年4月1日

プリミティブ執着(Primitive Obsession)

📁 アンチパターン 👁 -- 閲覧

プリミティブ執着(Primitive Obsession)

定義

ドメインの概念をString・int・boolなどのプリミティブ型で直接表現し続けるアンチパターン。 業務制約・意味・操作がコード中に散らばる原因となる。

症状

  • String email, String phoneNumber, String zipCode が同じ型で区別されない
  • バリデーション(メール形式チェック等)が複数箇所に重複して書かれている
  • int price に「0以上でなければならない」などのassertが各所に散らばっている

解決策

値オブジェクトを導入する。制約・操作・等価性判定をそのクラスに閉じ込める。

関連概念

出典

現場で役立つシステム設計の原則(増田亨)第1章 / Refactoring(Fowler)