Table of Contents
Demeterの法則は、特にオブジェクト指向プログラミングでソフトウェアを開発するための設計ガイドラインです。それは、オブジェクト間の依存性を削減し、システムをよりモジュラーにし、維持しやすく、バグへの負担を軽減することを目指しています。
墓地の法則の理解
多くの場合、デメーターの法律は「あなたの即時の友人にのみ話」とまとめられたので、オブジェクトは直接の協力者とのみ通信することを奨励します。これはオブジェクトが唯一の呼び出された方法を意味する:
- いわいわい
- パラメータとして渡されるオブジェクト
- 生成するオブジェクト
- 直接コンポーネントオブジェクト
このルールに従えば、オブジェクトの依存関係が最小化され、タイトなカップリングのリスクを減らし、コードを変化したり拡張したりするのが容易になります。
墓地の法則の実践
Demeter の法則を実装すると、オブジェクトグラフに深く到達しないクラスやメソッドを設計することが含まれます。例えば、呼び出しの代わりに:
order.getCustomer().getAddress().getCity()]
必要な情報を直接返す方法を提供する方が良いでしょう。
order.getCustomerCity()[
交換のヒント
- クラス内で複雑なチェーンをカプセル化します。
- 必要なデータだけを露出させる方法を作成します。
- ファサードやメディアターなどのデザインパターンを使用して、依存関係を削減します。
- 単一の責任に集中するクラスを保って下さい。
墓地の法則に従う利点
この法律に従うと、いくつかの利点があります。
- クラス間のカップリングを削減します。
- コードの読みやすさや維持性を高めます。
- オブジェクトを分離することでユニットテストが容易になります。
- コードのリファクタリングと拡張が容易になります。
要約では、オブジェクト指向設計におけるDemeterの法則を実装することで、よりクリーンでよりモジュラーなコードを促進します。これにより、開発者は、より堅牢なソフトウェアシステムにつながる、オブジェクトの相互作用と依存性について慎重に考えることを奨励します。