概要 Daniel Terhorst-Northさんが提唱するSOLID原則を代替する設計原則です。 SOLID原則はプリンシパル(ルールやガイドライン)を定めたものであるのに対し、CUPIDはソフトウェアが持つべき性質・特徴を定めたものです。SOLID原則はOOPやプログラミング言語に依存するところがありますが、CUPIDは基本的にOOPやプログラミング言語に依存しません。 Thoughtworks社が発表しているTechnology Radar Volume 26においても紹介されています。 日本語で紹介された記事がなかったので簡単にまとめておきます。 CUPIDは下記の頭文字です。ソフトウェアはこれらの性質・特徴を持つように作るべきだというのがCUPIDが伝えるものです。 Composable : 他のコンポーネントと組み合わせしやすいこと Unix philosophy : ひとつ