「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>なんとか原則]]

*目次 [#l5bc3b08]
#contents

*概要 [#x306d815]
コンポーネントないしはパッケージの原則などという。

*詳細 [#j9a929bd]

**凝集度に関する原則 [#gc567fcb]

***再利用・リリース等価の原則 [#l3ebb021]
(REP:Reuse-Release Equivalency Principle)

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

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

の何れか分類で纏める。

***全再利用の原則 [#q1cc0ad1]
(CRP:Common Reuse Principle)

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

>依存関係の強いクラス

を纏める。

***閉鎖性共通の原則 [#y849f5ac]
(CCP:Common Closure Principle)

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

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

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

**結合度に関する原則 [#h74cbaa1]

***非循環依存関係の原則 [#a94e53cd]
(ADP:Acyclic Dependencies Principle)

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

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

***安定依存の原則 [#ze1bc8c9]
(SDP:Stable Dependencies Principle)

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

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

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

※ [[閉鎖性共通の原則>#y849f5ac]]と似ている。

***安定度・抽象度等価の原則 [#t55c054a]
(SAP:Stable Absstractions Principle)

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

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

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

*参考 [#sd403f7c]
-オブジェクト指向設計の原則 - パッケージ設計の原則 - brfrn169の日記~
http://brfrn169.hatenablog.com/entry/20100925/1285413511

**Qiita [#udc4f3a4]
-コンポーネントの凝集性の原則についてまとめてみた~
https://qiita.com/Suzuki_Cecil/items/86ca9e2819a6f4af8533
-コンポーネントに関する6つの原則~
https://qiita.com/NagaokaKenichi/items/65c149ba92580fce5be2

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS