Structural Patterns のルール・カテゴリー

Structural Patterns のルール・カテゴリーには、構造アンチパターンを含む、各種の構造要素を示すパターンが含まれます。

目的

以下の表に、Structural Patterns カテゴリーの各パターンとその目的をリストします。
パターン 目的
Component Cyclic Dependency Component Cyclic Dependency パターンは、相互に依存するコンポーネントから構成される 構造アンチパターンです。コンポーネント間の循環依存関係は、 構造上の大きな問題と考えられます。このような依存関係により、コードの理解や保守が 困難になります。さらに重要な点として、循環依存関係はソフトウェア・テスト、並行開発、 および再利用の障害となります。多くの循環依存関係を持つ大規模ソフトウェアは、 脆弱で不安定です。
Component Global Breakable Component Global Breakable パターンは、他のコンポーネントが変更されたときに影響を受けやすいシステム・コンポーネントに関する構造アンチパターンです。Global Breakables は、システムの壊れやすさとモジュール性の欠如を表すため、高水準の具体的な実装の場合を除き、お勧めできません。
Component Global Butterfly Component Global Butterfly パターンは、多くのグローバル依存物を持つオブジェクトに関する構造パターンです。グローバル・バタフライを変更すると、 システムの他の部分にも大きな影響が及ぶことがよくあります。このような理由から、グローバル・バタフライは、 基本的なシステム・インターフェースまたはユーティリティー・クラスのみにすべきです。
Component Global Hub Component Global Hub パターンは、多くのグローバル依存関係および 多くのグローバル依存物を持つコンポーネントに関する構造アンチパターンです。何かが変更されると、 グローバル・ハブに影響が及び、さらに広範囲のシステムにも 影響が及ぶことがよくあります。グローバル・ハブは、システムの脆弱性および モジュール性の欠如を示すため、好ましくありません。
Component Local Breakable Component Local Breakable は、多数の直接の影響元を持つコンポーネントの、構造アンチパターンです。このようなコンポーネントでは、ちょっとした間違いが重大な結果を招くことがあります。多数の長いメソッドがあるものは、このようなコンポーネントである危険が高いと考えられます。Breakable は、コードの理解、保守、および再利用を困難にします。
Component Local Butterfly Component Local Butterfly は、多数の直接の影響先を持つコンポーネントの、構造パターンです。ローカル・バタフライを変更すると、 システムの他の部分にも直接大きな影響が及ぶことがよくあります。このような理由から、 ローカル・バタフライは、基本的なシステム・インターフェースまたは ユーティリティー・クラスのみにすべきです。
Component Local Hub Component Local Hub は、多数の直接の影響元および多数の直接の影響先を持つコンポーネントの、構造アンチパターンです。このようなコンポーネントは過剰な責務を担っており、ユーティリティーまたはよく利用されるコンポーネントとして機能します。Hub は、コードの理解、保守、 および再利用を困難にします。また、ハブはコードを脆弱で不安定にします。
Package Cyclic Dependency Package Cyclic Dependency は、相互依存型パッケージを構成する構造アンチパターンです。パッケージ間の循環依存関係は、 構造上の大きな問題と考えられます。このような依存関係により、コードの理解や保守が 困難になります。さらに重要な点として、循環依存関係はテスト可能性、並行開発、 および再利用の障害となります。多くの循環依存関係を持つ大規模ソフトウェアは、 脆弱で不安定です。
Package Global Breakable Package Global Breakable は、多数のグローバルな影響元を持つパッケージの、構造アンチパターンです。このようなパッケージは、 過度な責任をともないます。
Package Global Butterfly Package Global Butterfly は、多数のグローバルな影響先を持つパッケージの構造パターンです。グローバル・バタフライを変更すると、 システムの他の部分にも大きな影響が及ぶことがよくあります。このような理由から、 グローバル・バタフライ・パッケージは、基本的なシステム・インターフェースまたはユーティリティー・クラスの いずれかのみで構成すべきです。
Package Global Hub Package Global Hub は、多数のグローバルな依存関係を持つパッケージの、構造アンチパターンです。このようなパッケージはグローバルに過剰な責務を担っており、 ユーティリティーまたはよく利用されるパッケージとしても機能します。このパッケージには通常、 複数のグローバルな影響元および影響先を持つ多くのコンポーネントが含まれています。 Package Global Hub は、モジュールを再利用不可にし、コードの理解と保守を困難にします。
Package Local Breakable Package Local Breakable は、多数の直接の影響元を持つパッケージの、構造アンチパターンです。このようなパッケージは、過剰な責務を担っています。 このパッケージには通常、通常は多くの直接の影響元を持つ膨大な数または多数のコンポーネントが含まれます。Package Local Breakable は、 コードの理解、保守、および再利用を困難にします。
Package Local Butterfly Package Local Butterfly は、多数の直接の影響先を持つパッケージを表した構造アンチパターンです。このようなパッケージは ユーティリティーまたはよく利用されるパッケージとして機能します。
Package Local Hub Package Local Hub は、直接の影響元と直接の影響先のそれぞれを多数持つパッケージを表した構造アンチパターンです。このようなパッケージは過剰な責務を担っており、ユーティリティーまたはよく利用されるパッケージとして機能します。このパッケージには通常、多くの直接的な依存関係を持つ多くのコンポーネントが含まれています。Hub は、コードの理解、保守、および再利用を困難にします。また、ハブはコードを脆弱で不安定にします。

フィードバック