Bounded Context

Phạm vi mà một từ có một nghĩa rõ ràng. Trong context này, một từ có một nghĩa cụ thể; sang context khác, nó có thể là khái niệm khác.

Cái bẫy “một từ nhiều nghĩa”

Cùng từ Order, nhưng ở checkout nó là đơn hàng, ở shipping là đơn giao, ở finance có thể gần với khoản phải thu. Nếu nhét tất cả vào một class Order, bạn tạo ra một god object mà dev khó hiểu và AI càng dễ regenerate sai.

Cách làm trong repo spec

/specs
  /checkout-context
    entities.md           (Order = đơn hàng)
    UC-042-PlaceOrderQR.md
  /shipping-context
    entities.md           (Order = đơn giao hàng)
  /finance-context
    entities.md           (Order = receivable)

Khi AI đọc spec trong /checkout-context, nó không bị kéo sang nghĩa của /shipping-context. Đó là cách ngăn một số lỗi kiến trúc từ rất sớm.

Nếu không quen DDD, chỉ cần nhớ một quy tắc: cùng một từ mà team dùng với hai nghĩa khác nhau thì sớm muộn cũng sinh lỗi. Khi nghe team tranh cãi “Order chỗ này khác Order chỗ kia”, đó là lúc nên tách context.

Liên quan