هذه محاولة لجمع كل المعلومات حول التصميم المستند إلى المجال الذي يعرفه العالم باللغات الديناميكية (Python وRuby وPHP وغيرها). ليس فقط DDD ولكن جميع المعلومات القيمة حول البنية متعددة الطبقات والنظيفة مع فصل منطق الأعمال عن البنية التحتية وكود إطار العمل.
لذلك دعونا نذهب!
أنماط الهندسة المعمارية باستخدام Python (المعروف أيضًا باسم "Cosmic Python") - كتاب من تأليف Harry Percival وBob Gregory يضم DDD وأنماط استراتيجية (سيصدر قريبًا على O'Reilly، ومتوفر أيضًا في إصدار مبكر في رحلات السفاري
"المعماريات النظيفة في بايثون" - كتاب من تأليف ليوناردو جيورداني بناءً على منشوره
القضبان المستندة إلى النطاق - كتاب من تأليف روبرت بانكويكي وفريق أركينسي حول DDD وCQRS ومصادر الأحداث المتعلقة بمشاريع ريلز
التصميم المبني على المجال في PHP - كتاب من تأليف كارلوس بوينوسفينوس وكريستيان سورونلاس وكيفان أكبري حول DDD وتنفيذه باستخدام PHP
كتل بناء مصدرها الحدث للتصميم المستند إلى المجال باستخدام Python - يحتوي هذا الكتاب الصغير على لغة نمطية موجزة لـ DDD مصدر الحدث في Python. يركز هذا الكتاب على "العناصر الأساسية" الموثوقة لـ DDD. إنه يتجنب تكرار الأنماط "الاستراتيجية" لـ DDD. يتطلب الأمر منهجًا عمليًا "من القاعدة إلى القمة" لإنشاء تطبيقات وأنظمة موثوقة وقابلة للتطوير وقابلة للصيانة. تتضمن المقدمة دراسة متجددة للغة النمطية باعتبارها وصفًا للأحداث. هذا كتاب صغير، ولم يكتمل بعد في الوقت الحالي.
تنفيذ العمارة النظيفة - كتاب يركز على الجوانب العملية لتنفيذ العمارة النظيفة. يتم توضيحه بشكل كبير من خلال مقتطفات التعليمات البرمجية في بايثون. بصرف النظر عن البنية النظيفة نفسها، فإنها تقدم أيضًا أنماطًا أخرى لهندسة البرمجيات، مثل النمطية وحقن التبعية. CQRS أو مصادر الأحداث.
فصل منطق الأعمال والوصول إلى البيانات في جانغو - Python، Django
لماذا يبدو التصميم المعتمد على المجال شائعًا فقط مع اللغات الثابتة مثل C وJava؟
جهود التصميم المستندة إلى المجال باللغات الديناميكية؟
DDD - التصميم المبني على المجال، ما هو أمر التطوير الذي يجب تطبيقه؟ - بايثون
استرجاع المجاميع من داخل المجاميع الأخرى - سؤال StackOverflow حول المجاميع في تطبيق Python
تجنب تأثير الدومينو في خدماتنا (SOLID على مستوى التصميم الكلي)
تطبيقات Python (الويب) للهندسة المعمارية النظيفة - Przemek Lewandowski حول تطبيق Uncle Bob's Clean Architecture على تطبيقات الويب Python مع أمثلة التعليمات البرمجية والتعليقات التوضيحية
Domain Driven Design com Python - شرائح باللغة البرتغالية، ولكنها تحتوي على بعض التعليمات البرمجية المفيدة في Python
من Active Record إلى الأحداث - Emanuele DelBono حول استخدام DDD/CQRS/ES في تطبيقات Ruby on Rails
من الكود المقترن بإطار العمل إلى الخدمات الصغيرة من خلال DDD
التصميم السداسي في جانغو - بايثون، جانغو، يحتوي على بعض التعليمات البرمجية.
الخدمات المصغرة: تحسين استقلالية فرقنا من خلال البنية المبنية على الأحداث
DDD لمطوري Rails - مدونة كاملة بقلم فيكتور سافكين حول DDD في Ruby on Rails
التصميم المعتمد على المجال وهندسة MVC - مقالتان من Federico Cargnelutti مع أمثلة PHP في الجزء الثاني
كائنات القيمة في Java وPython - حول Value Object
، مقارنة كائنات القيمة في Java وPython
تصميم بيثون المنهجي القائم على المجال - ملخص بسيط عن DDD في بايثون
استكشاف المجالات باستخدام بايثون - مقالة صغيرة مع مثال لفئات Repository
Storage
البنى النظيفة في بايثون: مثال خطوة بخطوة - تنفيذ العمارة النظيفة للعم بوب في بايثون. يحتوي على شرح خطوة بخطوة وgithub repo مع كل التعليمات البرمجية.
تقديم معالج الأوامر على https://www.cosmicpython.com/ (كان موجودًا سابقًا في مدونة made.com التقنية)، متبوعًا بالمستودع ونمط وحدة العمل في Python، وCQRS / المعالجات وطرق العرض، ولماذا نستخدم أحداث المجال؟
تطبيقات الويب الكبيرة في بايثون: بنية جيدة - مقالة تشير إلى أن MVC لا يكفي للتطبيقات الكبيرة وتحتاج إلى طبقة منفصلة لمنطق الأعمال.
DDD + Ruby subreddit - منتدى فرعي لمطوري Ruby المهتمين بالتصميم المستند إلى المجال.
مدونة ونشرة Arkency الإخبارية - يكتبون كثيرًا عن DDD ومصادر الأحداث والاختبار في Ruby/Rails. ليس مجرد نص عادي، ولكن التعليمات البرمجية وحتى الندوات عبر الإنترنت في بعض الأحيان.
Hanami em Production - منذ عامين: منشور باللغة البرتغالية يصف تجربة Creditas في إنشاء تطبيقها الأساسي وصيانته (60 ألف سطر من التعليمات البرمجية + 2 مليون طلب/شهر) مع DDD في Ruby باستخدام إطار عمل Hanami.
كيفية تحسين سياقات التسمية في التصميم المستند إلى المجال - يصف أسلوب كيفية العثور على اسم أفضل للسياقات المحددة الخاصة بك.
تنفيذ التصميم المستند إلى المجال في PHP - تقديم التصميم المستند إلى المجال وكيفية التنفيذ في Laravel باستخدام PHP بقلم علي رضا رحماني خليلي.
Event Sorcery - مدونة مفصلة تحتوي على مقالات مطولة حول إنشاء تطبيقات تعتمد على مجال مصادر الأحداث باستخدام Python.
كيفية البدء في استخدام DDD & Onion-Architecture في تطبيق ويب Python - عنوان واضح تمامًا لمقالة المدونة التي كتبها Takahiro Ikeuchi. بما في ذلك جيثب الريبو مع تنفيذ الفكرة.
مثال عملي على الهندسة السداسية مع استخدام Python (يتضمن مثال FastAPI) - مقالة عن الهندسة المعمارية السداسية، تشرح الأساسيات وتظهر أمثلة التعليمات البرمجية.
التصميم المستند إلى المجال باستخدام Python - حديث رائع عن DDD وPython مع شروحات للعديد من موضوعات DDD وأمثلة التعليمات البرمجية بواسطة Robert Smallshire من Skills Matter
أنماط التصميم المستندة إلى المجال في بايثون - حديث تفصيلي عن أنماط DDD في بايثون بقلم روبرت سمولشاير من EuroPython 2018
الهندسة المعمارية النظيفة في بايثون - حديث رائع عن PyOhio2014 من براندون رودس
الهندسة المعمارية السداسية في Django Talk باللغة الروسية بواسطة @proofit404، تحتوي على أمثلة التعليمات البرمجية وتخطيط المشروع
التصميم المبني على المجال والهندسة المعمارية السداسية باستخدام القضبان - حديث Ruby on Rails من RailsConf 2014 بقلم إريك روبرتس وديكلان ويلان مع أمثلة التعليمات البرمجية
القضبان السداسية - روبي أون ريلز، GoRuCo 2012 بواسطة مات وين
الهندسة المعمارية السداسية في DDD - لعبة الجولف مع DDD في PHP بواسطة Gordon Skinner من مؤتمر PHP UK
حدود بايثون - تحدث عن Boundaries
غاري بيرنهاردت من Pycon US 2013
Boundaries Ruby - نفس الكلام لـ Gary Bernhardt ولكن في Ruby من Ruby Conf 12. يحتوي على قسم ضمان الجودة.
Hexagonal TDD - تنفيذ TDD للهندسة السداسية لتطبيق القضبان. في 3 أجزاء.
Jim Weirich حول الانفصال عن Rails - عرض من Jim Weirich من أكتوبر CincyRb.
من Active Record إلى الأحداث - محاضرة لإيمانويل ديلبونو من Wroclove.rb حول DDD/CQRS/ES في Ruby وRuby on Rails.
مصمم ليدوم طويلاً: نهج قائم على المجال للأنظمة الجميلة - حديث RailsConf 2017 بقلم أندرو هاو. تقنيات إعادة هيكلة قاعدة التعليمات البرمجية القديمة لأسلوب DDD ونظرة عامة على التصميم وأمثلة التعليمات البرمجية.
DDD من الناحية الفنية - حديث رائع بقلم Pim Elshoff حول البدء في استخدام DDD باستخدام كائنات القيمة والكيانات والخدمات في PHP
ربما: تطبيق التصميم المبني على المجال والبنيات التفاعلية على البرمجة الوظيفية - محاضرة لروب مارتن من ElixirConf 2017.
الهندسة المعمارية النظيفة - حديث PyGotham 2018 بقلم Sebastian Buczyński مع التعليمات البرمجية والشرائح. هناك أيضًا مشاركة مدونة باللغة الإنجليزية
التصميم المبني على النطاق - محادثة CODEiD 2018 بقلم Аrtём Антоненко @Antonyan. باللغة الروسية. هناك أيضًا الريبو - PHP DDD Skeleton، ومشاريع أخرى ذات صلة بـ DDD ضمن حسابه على github.
Eventsourcing 101 - الحديث عن مصادر الأحداث باستخدام الترميز المباشر في Python بقلم بوب جريجوري. يقوم بترميز سلة التجارة الإلكترونية من مصادر الحدث من الصفر.
التصميم المبني على المجال لـ Python - الحلقة 219 - عندما تبدأ مشاريعك البرمجية في التوسع، يصبح تحديًا أكبر هو فهم جميع الأجزاء وصيانتها. في هذه الحلقة، يشارك هنري بيرسيفال تجاربه في العمل مع التصميم المبني على المجال في مشاريع بايثون الكبيرة.
كيف نكمل هذا المشروع - حديث PyCon RU 2019 بقلم Боris Цема (باللغة الروسية) حول استخدام أنماط DDD لتقليل مشاريع Wargaming.net.
البنيات النظيفة في بايثون - محاضرة PyLondinium19 بقلم ليوناردو جيورداني
مصادر الأحداث في بايثون - مكتبة بايثون الناضجة والمستقرة والشائعة لتحديد مصادر الأحداث وDDD.
PyAssimilator - مجموعة من أنماط DDD في Python مع دعم المكتبات الخارجية المختلفة.
Dry-python - مجموعة من مكتبات Python لمكونات منطق الأعمال القابلة للتوصيل.
نموذج تطبيق Ruby DDD - نموذج تطبيق منفذ DDD المكتوب بلغة Java في Ruby. بالتأكيد تستحق القراءة.
DDD في جانغو - محاولة لتنفيذ DDD والهندسة المعمارية السداسية في جانغو
DDD in Flask - مثال مقتضب للبنية المستوحاة من DDD باستخدام Flask
DDD في Falcon - تطبيق بسيط لـ DDD والهندسة السداسية في Falcon مع تضمين عدد قليل من البطاريات.
Kanban in Python - تطبيق Python للوحة كانبان البسيطة مع نهج DDD.
كانبان في كلوجر - نفس الشيء في كلوجر
تمارين كانبان في بايثون - نفس اللوحة مقسمة على تمارين لطلاب بعض ورش العمل بواسطة Sixty-North.
الترجيع - الترجيع هو خادم مخزن أحداث (CQRS) مكتوب بلغة بايثون. لا يعني ذلك أنه مكتوب باستخدام نهج DDD ولكنه لا يزال مرتبطًا.
مثال تطبيق الهندسة المعمارية النظيفة (python) - مستودع يحتوي على مثال لتطبيق معياري مكتوب بلغة Python. يتم استخدام الكود في كتاب تنفيذ العمارة النظيفة.
الهندسة المعمارية النظيفة مع بايثون - مناقشة Reddit حول الموضوع وهذا جوهر الهندسة المعمارية المقترحة وبعض التعليقات عليها.
abidria-api - تطبيق Django مكتوب بهندسة معمارية نظيفة. هناك أيضًا مقال لجوردي فييرو يشرح فيه مكونات الهندسة المعمارية وكيفية تفاعلها مع بعضها البعض.
Hanami - خيار جيد من عالم Rails، Hanami هو إطار عمل ناشئ يشجع ويساعد على تصميم تطبيقات DDD في روبي. يشير دليل البدء إلى بعض مفاهيم DDD وكيفية ملاءمتها داخل إطار العمل.
تم تطبيق الهندسة المعمارية السداسية + DDD + CQRS في PHP باستخدام Symfony 4
Revents - إمكانية تنفيذ DDD/CQRS/ES في Ruby وRuby on Rails
نموذج DDD Rails - مشروع مخصص للاستخدام كنقطة بداية لأولئك الذين يرغبون في إنشاء تطبيقات التصميم المستندة إلى المجال في Rails.
فئات وواجهات التصميم المستند إلى المجال - المشروع عبارة عن مجموعة عينات PHP من الفئات والواجهات المستوحاة من التصميم المستند إلى المجال.
تطبيق DDD CQRS ES المصرفي - تطبيق مصرفي يتبع قواعد DDD، باستخدام البنية النظيفة ومصادر الأحداث وCQRS.
مثال تطبيق الهندسة المعمارية السداسية (python، مع FastAPI) - نموذج تطبيق مكتوب بلغة Python أعلى إطار عمل الويب FastAPI، باستخدام مبادئ الهندسة المعمارية السداسية.
أنماط DDD في Python - تقدم Sixty North تدريبًا في الفصل الدراسي لمدة يومين حول تنفيذ DDD في Python مع المثابرة العلائقية أو مصادر الحدث.
Rails + ورشة عمل للتصميم المستند إلى المجال - ورش عمل مقدمة من شركة Arkency. يجب أن تحتوي الصفحة على جدول زمني لورش العمل المستقبلية وملخص لما يمكن توقعه منها.
دورة أساسيات EventStorming (أيضًا باللغة الإسبانية) - تعلم أساسيات EventStorming لتصميم البرامج باستخدام عقلية DDD لتنفيذها لاحقًا باستخدام أي لغة برمجة ديناميكية.