DDD לא גוסס. Cargo-Cult DDD כן.

Domain-Driven Design (DDD) לא גוסס.

הערך המהותי של DDD חשוב יותר מאי פעם בגלל ה-AI. אתה עדיין צריך:

  • להבין דומיינים עסקיים מורכבים
  • להגדיר bounded contexts
  • לסנכרן שפה בין מהנדסים למומחים
  • לגלות אינווריאנטים (invariants)
  • להפוך מעברי מצבים (state transitions) למפורשים

AI הופך את יצירת הקוד לזולה. זה הופך חשיבה לא ברורה למסוכנת יותר. אם הלוגיקה של הדומיין שלך מבולגנת, ה-AI פשוט יעזור לך ליצור בלאגן מהר יותר.

הבעיה היא לא DDD. הבעיה היא Cargo-Cult DDD.

צוותים רבים משתמשים ב-tactical DDD ככלי לשליטה במקום להבנה. הם עוקבים אחרי תבניות רק כדי לעקוב אחריהן:

  • ליצור Entity
  • להוסיף Repository
  • לכתוב Mapper
  • לעקוב אחרי מבנה התיקיות

התבניות האלו אינן רעות. אך הן הופכות לעיתים קרובות ל"ניירת ארכיטקטונית". אם Repository הוא רק DAO ששונה שמו, או ש-Mapper רק מעביר שדות ללא משמעות, אתה לא ממדל דומיין. אתה רק ממלא טפסים.

זוהי בירוקרטיה המתבטאת כארכיטקטורה.

AI מושלם לסוג כזה של עבודה. הוא יכול לייצר mappers, DTOs ו-boilerplate בשניות.

אם אתה משתמש ב-AI כדי להאיץ בירוקרטיה, אתה רק מאיץ את ה"טקסים" (ceremony). אתה עשוי לראות יותר כרטיסים (tickets) זזים, אבל אתה לא בונה מערכות טובות יותר. אתה רק הופך את הבזבוז לזול יותר לייצור.

התחרות האמיתית היא בין שני סוגים של ארגונים:

  1. צוותים בירוקרטיים גדולים בסיוע AI צוותים אלו משתמשים ב-AI כדי לייצר יותר שכבות ועוד boilerplate. הם מתמקדים במעקב אחר תבניות קיימות ובמעבר סקירות פורמליות.

  2. צוותים קטנים המועצמים על ידי AI ובעלי אחריות גבוהה (high-ownership) צוותים אלו משתמשים ב-AI כדי להגדיל את היכולת שלהם לשנות מערכות בבטחה. הם מתמקדים ב:

  • מפרטים ניתנים להרצה (executable specifications)
  • גבולות חזקים
  • בדיקות אוטומטיות
  • אילוצים ברמת הטיפוסים (type-level constraints)
  • מעברי מצבים מפורשים

הטיפוס הראשון משתמש ב-AI כדי לייצר יותר טקסים (ceremony). הטיפוס השני משתמש ב-AI כדי לבטל את הצורך בטקסים.

הפסיקו להשתמש בארכיטקטורה כדי לשלוט באנשים או בקוד. השתמשו בה כדי להגן על המשמעות של הדומיין.

עברו מארכיטקטורה המוגנת על ידי סקירה אנושית לארכיטקטורה המוגנת על ידי בדיקות, טיפוסים (types) ואילוצים.

Source: https://dev.to/terum/ddd-is-not-dying-cargo-cult-ddd-is-l1p

Optional learning community: https://t.me/GyaanSetuAi