Skip to content

DNET_ComponentPrinciples

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

コンポーネントの原則

概要

コンポーネントないしはパッケージの原則などという。

詳細

凝集度に関する原則

再利用・リリース等価の原則

(REP:Reuse-Release Equivalency Principle)

コンポーネントないしはパッケージは、

  • 全て再利用できるもの(ライブラリ)
  • 全て再利用できないもの(上モノ)

の何れか分類で纏める。

全再利用の原則

(CRP:Common Reuse Principle)

コンポーネントないしはパッケージは、

依存関係の強いクラス

を纏める。

閉鎖性共通の原則

(CCP:Common Closure Principle)

コンポーネントないしはパッケージは、

リリース・サイクルが等しいクラス

を分類して纏める(BCLとかFCLとかNuGetとか)。

結合度に関する原則

非循環依存関係の原則

(ADP:Acyclic Dependencies Principle)

コンポーネントないしはパッケージは、

循環参照があってはならない。
(.NET ではビルドエラーになる)。

安定依存の原則

(SDP:Stable Dependencies Principle)

コンポーネントないしはパッケージの、

下位スタック程、安定したものになるよう、

構成を組む(BCL ← FCL ← NuGet)。

閉鎖性共通の原則と似ている。

安定度・抽象度等価の原則

(SAP:Stable Abstractions Principle)

コンポーネントないしはパッケージは、

  • 安定なクラスは抽象的に
  • 不安定なクラスは具体的に

を分類&実装する(...自然とそうなる気もするが)。

参考

Qiita

正誤

  • 「(SAP:Stable Absstractions Principle)」→「Stable Abstractions Principle」。
  • 「(netではビルドエラーになる)」→「(.NET ではビルドエラーになる)」。

移行メモ

  • PukiWiki のページ内アンカ(#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替えた。

Tags: 移行, コンポーネントの原則, パッケージ設計, REP, CRP, CCP, ADP, SDP, SAP, 凝集度, 結合度

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally