𝗪𝗵𝘆 𝗗𝗼𝗺𝗮𝗶𝗻 𝗠𝗼𝗱𝗲𝗹𝘀 𝗠𝗮𝘁𝘁𝗲𝗿 𝗠𝗼𝗿𝗲 𝗶𝗻 𝘁𝗵𝗲 𝗔𝗜 𝗘𝗿𝗮 لماذا تزداد أهمية نماذج النطاق (Domain Models) في عصر الذكاء الاصطناعي
غالبًا ما تكون بنية البرمجيات (Software architecture) موضوعًا للنقاش دون وجود منتصر. فأنت تبني نظامًا واحدًا، ولا تبني البديل أبدًا تحت نفس الظروف. وهذا يجعل كل قرار غير قابل للتفنيد. عندما يفشل النظام، يلوم الناس النطاق (domain) أو الفريق، ونادرًا ما يلومون البنية لأنهم لا يملكون مجموعة ضابطة للمقارنة بها.
نحن بحاجة إلى وسيلة لاختبار تصميماتنا. يجب علينا فصل التعقيد الجوهري (essential complexity) عن التعقيد العرضي (accidental complexity). التعقيد الجوهري هو المشكلة الفعلية، أما التعقيد العرضي فهو الفوضى التي نحدثها بأدواتنا وعملياتنا.
يجعل الذكاء الاصطناعي عملية التنفيذ شبه مجانية، وهذا تحول هائل. في الماضي، كانت صعوبة كتابة الكود تجبر المطورين على إنشاء هياكل أفضل. فإذا كان الكود الخاص بك فوضويًا، سيصبح من الصعب إدارته، وكان هذا الألم بمثابة حلقة تغذية راجعة.
يزيل الذكاء الاصطناعي تلك الصعوبة؛ إذ يمكنه كتابة كود فوضوي وضعيف الهيكلة بنفس سرعة كتابة الكود النظيف. لم يعد ألم النموذج السيئ يواجه المطور أثناء عملية البناء (build)، بل ينتقل الألم إلى مرحلة الإنتاج (production)، حيث تواجه بيانات فاسدة ومهام دمج مستحيلة.
يُعد نموذج النطاق الغني (rich domain model) أداة لمنع حدوث ذلك، وهو يؤدي ثلاث وظائف محددة:
- يساعدك على تعلم النطاق من خلال إجبارك على إعطاء المفاهيم شكلاً محدداً.
- يحدد النطاق بحيث لا يعود "ما يجب بناؤه" مجرد تخمين.
- يوثق النطاق في الكود الذي يظل محدثًا عبر المترجم (compiler).
لكي يعمل نموذج النطاق بفعالية، يجب أن يتبع ثلاث قواعد:
- حافظ على وحدة التعقيد الجوهري. لا تشتت مفهومًا واحدًا عبر مئات الخدمات المصغرة (microservices).
- وفر تغذية راجعة. يجب أن يؤدي الافتراض الخاطئ إلى خطأ في التجميع (compile error)، وليس إلى خطأ برمجي صامت (silent bug).
- اجعل التغييرات غير مكلفة. يجب أن تتمكن من إصلاح المفهوم في مكان واحد، بدلاً من البحث عنه في عشر خدمات مختلفة.
إذا قمت بتقسيم النطاق الخاص بك في وقت مبكر جدًا إلى خدمات مصغرة لحل مشكلة "التضخم" (bloat)، فغالبًا ما ستنقل الفوضى فحسب. أنت تستبدل "كائن الإله" (god object) الواحد بفوضى موزعة يصعب تتبعها. وأي تبعية (dependency) لا يمكنك رؤيتها هي تبعية ستتسبب في تعطل النظام في مرحلة الإنتاج.
ليس الهدف من نموذج النطاق الغني أن تكون على صواب دائمًا، بل الهدف هو جعل الخطأ مرئيًا بينما لا تزال تكلفة التصحيح ضئيلة.
المصدر: https://dev.to/leonpennings/what-is-the-reason-for-using-a-rich-domain-model-in-the-age-of-ai-3gg
مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi