law of demeter

شرح “Law of Demeter” بالـ Clean Code

المقدمة

لاحظت خلال عملي في العديد من الشركات أن هناك مشكلة شائعة لدى العديد من المهندسين ذوي الخبرة، وهي كسر “قانون ديمتر” أو “Law of Demeter”. فما هو هذا القانون؟

ماهو  “Law of Demeter”

ببساطة، يمكن تلخيص القانون بجملة واحدة: “تحدث فقط مع أصدقائك المباشرين”. هذا يعني أنه في البرمجة، يجب على الكائنات (objects) التواصل فقط مع الكائنات القريبة منها مباشرةً.

شرح  “Law of Demeter”

 

لنفترض لدينا مجموعة من الكائنات: Car، Engine، و OilPump.
القانون ينص على أن يتواصل الكائن Car مع الكائن Engine فقط، والكائن Engine يتواصل مع الكائن OilPump فقط. بهذه الطريقة، نكون قد التزمنا بقانون ديمتر.

كسر القانون  “Law of Demeter”

كيف يتم كسر القانون؟ يتم ذلك عندما يتواصل الكائن Car مع الكائن OilPump مباشرةً، متجاوزًا الكائن Engine.