構造化パターンのカテゴリーには、構造アンチパターンを含む、 各種の構造エレメントを示すパターンがあります。
パターン | 目的 |
---|---|
Component Cyclic Dependency | Component Cyclic Dependency は、相互に依存するコンポーネントから構成される 構造アンチパターンです。コンポーネント間の循環依存関係は、 構造上の大きな問題と考えられます。このような依存関係により、コードの理解や保守が 困難になります。さらに重要な点として、循環依存関係はテスト可能性、並行開発、 および再利用の障害となります。多くの循環依存関係を持つ大規模ソフトウェアは、 脆弱で不安定です。 |
Component Global Breakable | Component Global Breakable は、他のコンポーネントが変更されたときに 影響を受けやすいシステム・コンポーネントに対する構造アンチパターンです。高水準の具体的実装を除き、 グローバル・ブレーカブルはシステムの脆弱性およびモジュール性の欠如を示すため、 好ましくありません。 |
Component Global Butterfly | Component Global Butterfly は、多くのグローバル依存を持つオブジェクトに対する 構造パターンです。グローバル・バタフライを変更すると、 システムの他の部分にも大きな影響が及ぶことがよくあります。このような理由から、グローバル・バタフライは、 基本的なシステム・インターフェースまたはユーティリティー・クラスのみにすべきです。 |
Component Global Hub | Component Global Hub は、多くのグローバル依存関係および 多くのグローバル依存を持つコンポーネントに対する構造アンチパターンです。何かが変更されると、 グローバル・ハブに影響が及び、さらに広範囲のシステムにも 影響が及ぶことがよくあります。グローバル・ハブは、システムの脆弱性および モジュール性の欠如を示すため、好ましくありません。 |
Component Local Breakable | Component Local Breakable は、多くの直接的な依存関係を持つ コンポーネントに対する構造アンチパターンです。このようなコンポーネントは過剰な責務を担っており、 通常は多くの長いメソッドによって識別されます。ブレーカブルにより、 コードの理解、保守、および再利用が困難になります。 |
Component Local Butterfly | Component Local Butterfly は、多くの直接的な依存を持つ コンポーネントに対する構造パターンです。ローカル・バタフライを変更すると、 システムの他の部分にも直接大きな影響が及ぶことがよくあります。このような理由から、 ローカル・バタフライは、基本的なシステム・インターフェースまたは ユーティリティー・クラスのみにすべきです。 |
Component Local Hub | Component Local 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 は、多くの直接的な依存関係および依存を持つ パッケージに対する構造アンチパターンです。このようなパッケージは過剰な責務を担っており、ユーティリティーまたはよく利用されるパッケージとして機能します。通常、 多くの直接的な依存関係を持つ多くのコンポーネントが含まれています。ハブにより、 コードの理解、保守、および再利用が困難になります。また、ハブはコードを脆弱で不安定にします。 |