اكتشف أسرار نموذج التصميم المحول

نموذج التصميم المحول هو نموذج عبارة عن محول، يقوم بعمل واجهة لنظام معقد، والتي قد تكون كود جاهز مثلاً أو إحدى المكتبات القديمة لديك وتريد أن تعيد استخدامها، ولكن الواجهة لهذا الكود أو المكتبة غير متوافق مع الكود الجديد، فنقوم بعمل محول يوافق بين الجزئيتين.



ITarget: هو الواجهة المراد استخدامها من المستخدم النهائي للكود أو المستخدم للمحول.

Adaptee:هو الكود أو المكتبة المراد استخدامه.

Adapter: هي الصنف التي تورث من ITarget وتوافق شروط الـ Adaptee

Request: هو الطلب الذي نريد تنفيذه في النهاية.

SpecificRequest: المحتوى الذي نريد تنفيذه والموجود في الـ Adaptee.

نستعرض مثال بسيط لتوضيح الفكرة: في البداية نعرض الصنف Adaptee المُراد الانتفاع من خدماته، وهو كود قديم أو ربما يكون كود حديث في نفس البرنامج ولكن نريد أن نستخدمه في مكان آخر لا يتوافق مع الواجهة الخاصة به ونريد أن نستبدله:



هذه الواجهة الجديدة ITarget للكود الجديد الذي نريد أن نعمل عليه:



هنا نقوم بتعريف الصنف Adapter تجمع بين القديم والحديث والتوفيق بينهم، حيث إن رغبنا في الصنف الجديد أن نمرر أي رقم فسيُّقسم تلقائيًا على 3 بدون أن نمرر الرقم 3، وهذا ما تقوم به الدالة Request حيث تقوم باستخدام الدالة القديمة SpecificRequest وتمرر الرقم الجديد مع تمرير الرقم 3، ونقوم أيضًا بتقريب الناتج إلى أقرب رقم صحيح.



الآن نقوم بعرض الصنف Client ونرى الفرق بين الحديث والقديم:



ليظهر الناتج كالتالي:

قراءة المقال الكامل على ويكيبيديا ←