プログラミング 2026-04-09
IT用語: SOLID原則とは|オブジェクト指向設計の5つの基本原則
保守性の高いソフトウェア設計のためのSOLID原則(単一責任・開放閉鎖・リスコフ置換・インターフェース分離・依存性逆転)を解説。
SOLID原則とは
SOLIDは、保守しやすく拡張しやすいオブジェクト指向ソフトウェアを設計するための5つの原則の頭文字を取ったものです。Robert C. Martin(Uncle Bob)が提唱しました。
| 文字 | 原則 | 要約 |
|---|---|---|
| S | 単一責任の原則 | クラスは1つの責任だけを持つ |
| O | 開放閉鎖の原則 | 拡張に開いていて、修正に閉じている |
| L | リスコフ置換の原則 | サブクラスは親クラスと置き換えられる |
| I | インターフェース分離の原則 | 使わないインターフェースに依存させない |
| D | 依存性逆転の原則 | 抽象に依存し、具体に依存しない |
最も重要な「S」単一責任の原則
一番よく違反されるのがSです。「1つのクラスが変更される理由は1つだけであるべき」という考え方です。ユーザー情報の取得・バリデーション・メール送信をすべて1つのクラスに書くと、変更理由が複数になり保守が困難になります。
関連する用語 (プログラミング)
全33件を見るPrettier(コードフォーマッター)
コードを自動的に整形するオピニオネイテッドなフォーマッター。JavaScript・TypeScript・CSS・HTML・JSON・Markdownに対応し、チームのコードスタイル論争を終わらせる。
詳しく読む
Webpack(ウェブパック)
JavaScriptアプリの依存関係を解析して複数のファイルを1つ(または少数)のバンドルにまとめるモジュールバンドラー。CSS・画像等も処理でき、フロントエンドビルドツールの長年の標準。
詳しく読む
JavaScript (JS)
Webブラウザ上で動きのある表現(アニメーション等)を実現するためのプログラミング言語。
詳しく読む
WebAssembly(Wasm)
ブラウザ上でネイティブに近い速度で実行できるバイナリ命令形式。C・C++・Rustなどのコードをブラウザで動かすことができ、ゲーム・動画編集・CADなど計算負荷の高いWebアプリに使われる。
詳しく読む
Ruby (ルビー)
「プログラミングを楽しむ」ことを目的に日本のまつもとゆきひろ氏が開発した、美しく書きやすい言語。
詳しく読む
Python (パイソン)
AI(人工知能)やデータ分析の分野で世界的に最も人気のあるプログラミング言語。
詳しく読む