/note/tech

SOLIDを代替する設計原則、CUPIDについて

SOLID原則はプリンシパル(ルールやガイドライン)を定めたものであるのに対し、CUPIDはソフトウェアが持つべき性質・特徴を定めたものです。SOLID原則はOOPやプログラミング言語に依存するところがありますが、CUPIDは基本的にOOPやプログラミング言語に依存しません。

CUPIDは下記の頭文字です。ソフトウェアはこれらの性質・特徴を持つように作るべきだというのがCUPIDが伝えるものです。

  • Composable : 他のコンポーネントと組み合わせしやすいこと
  • Unix philosophy : ひとつのことをうまくやること
  • Predictable : なにをするのか予測できること
  • Idiomatic : 自然に感じられること
  • Domain-based : ドメイン言語とドメインの構造を使うこと