「[[.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