デメテルの法則(実際にはデメテルの提案である必要があります)は、オブジェクトを「通過」して子オブジェクトに到達するべきではないと述べています。クライアントとして重要な操作を実行する必要がある場合、ほとんどの場合、使用しているドメインモデルはその操作をサポートする必要があります。
RESTは、原則として、オブジェクトのダム階層です。これは、各オブジェクトが子オブジェクトを持つことができるリソース/オブジェクトのファイルシステムのようなものです。ほとんどの場合、RESTを使用します。オプションで、REST手法を使用して従来の複合オブジェクトタイプを構築できます。プロバイダーとクライアントがより高いレベルの操作に同意する限り、リーチスルーを回避できます。
では、RESTとDemeterのバランスをどのように取っていますか?RESTは、プロバイダーがクライアントのすべてのニーズを予測しようとするのは無意味であるという点への超緩い結合に関するものであるため、それらは競合していないように見えますが、Demeterは、ロジックがリファクタリングによる最も自然な場所。
ただし、クライアントをよりよく理解するまでは、RESTは単なる一時的なギャップであると主張することができます。RESTは単なるハックですか?デメテルはどのサーバー/クライアントシナリオでも非現実的ですか?