IT用語: SOLID原則とは|オブジェクト指向設計の5つの基本原則
保守性の高いソフトウェア設計のためのSOLID原則(単一責任・開放閉鎖・リスコフ置換・インターフェース分離・依存性逆転)を解説。
SOLID原則とは
SOLIDは、保守しやすく拡張しやすいオブジェクト指向ソフトウェアを設計するための5つの原則の頭文字を取ったものです。Robert C. Martin(Uncle Bob)が提唱しました。
| 文字 | 原則 | 要約 |
|---|---|---|
| S | 単一責任の原則 | クラスは1つの責任だけを持つ |
| O | 開放閉鎖の原則 | 拡張に開いていて、修正に閉じている |
| L | リスコフ置換の原則 | サブクラスは親クラスと置き換えられる |
| I | インターフェース分離の原則 | 使わないインターフェースに依存させない |
| D | 依存性逆転の原則 | 抽象に依存し、具体に依存しない |
最も重要な「S」単一責任の原則
一番よく違反されるのがSです。「1つのクラスが変更される理由は1つだけであるべき」という考え方です。ユーザー情報の取得・バリデーション・メール送信をすべて1つのクラスに書くと、変更理由が複数になり保守が困難になります。
関連する用語 (プログラミング)
全33件を見るモノレポ(Monorepo)
複数のプロジェクトやパッケージを1つのGitリポジトリで管理する手法。コードの共有・一貫したCI/CD・依存関係の統一が容易になる。Turborepo・Nx・Yarnワークスペースで実装される。
Rust (ラスト)
「処理の速さ」と「メモリの安全性(バグの出にくさ)」を両立させた、世界で最もプログラマーに愛されている次世代言語。
Web Components
ブラウザネイティブの技術でカプセル化された再利用可能なUIコンポーネントを作成する仕様。Custom Elements・Shadow DOM・HTML Templatesの3つの技術で構成され、フレームワーク非依存で動作する。
ESLint
JavaScriptとTypeScriptのコードを静的解析し、潜在的なバグや規約違反を検出するリンター。プロジェクト全体で一貫したコードスタイルを強制し、コードレビューの負担を軽減する。
IT用語: クロージャ(Closure)とは|関数が変数を「覚える」仕組み
関数が定義された時点のスコープの変数を参照し続けるクロージャの仕組みとカウンターなどの実用例を解説。
PWA(プログレッシブウェブアプリ)
Service WorkerやWeb App Manifestを使い、Webアプリにネイティブアプリに近い体験を提供する技術。オフライン動作・ホーム画面への追加・プッシュ通知が実現できる。