2013-09-04 31 views
36

Tôi đã đọc cuốn sách của Eric Evan và đọc cuốn sách của Vaughn Vernon bây giờ. Tôi đang ở trong chương thứ hai, nơi ông nói về các tên miền phụ và bối cảnh bị ràng buộc và bây giờ hoàn toàn bối rối.Bối rối về bối cảnh bị ràng buộc và tên miền phụ

Từ những gì tôi có thể chưng cất, cần có mối quan hệ 1: 1 giữa BC và SD. Tuy nhiên, tôi đọc ở những nơi khác mà điều này không nhất thiết phải là trường hợp.

Ai đó có thể giải thích cho tôi về mối quan hệ giữa BC và SD không?

+0

Có thể giải thích sự khác biệt giữa BC và SD sẽ giúp – Chris

Trả lời

4

Đọc lại ngữ cảnh đặt phòng từ sách màu xanh lam 18 lần đã giúp tôi cuối cùng có được một xử lý. http://codeidol.com/csharp/domain-driven-design/Maintaining-Model-Integrity/Bounded-Context/

Bài viết này giúp cũng như: http://gorodinski.com/blog/2013/04/29/sub-domains-and-bounded-contexts-in-domain-driven-design-ddd/

+5

tốt đẹp, nhưng nếu bạn sao chép ở đây từ các bài viết trả lời câu hỏi, nó sẽ tuyệt vời! –

+5

và đây là tóm tắt từ bài viết thứ hai: Một tên miền phụ phân định một tên miền và tồn tại trong không gian vấn đề. Một bối cảnh bị ràng buộc phân định mô hình miền và tồn tại trong không gian giải pháp. Lý tưởng là sự liên kết đầy đủ giữa một tên miền phụ và một bối cảnh giới hạn, tuy nhiên trong thực tế một mức độ linh hoạt phải được chấp nhận trong lĩnh vực này. –

+1

Không đồng ý với liên kết gorodinksi khi ông nói quá nhiều về mặt kỹ thuật và không đủ theo nghĩa kinh doanh. @JefClaes trả lời là tốt hơn nhiều. –

35

Một tên miền phụ là một phần của doanh nghiệp của bạn. Có các miền chính, miền hỗ trợ và miền chung. Các miền chính là nơi tiền, các miền hỗ trợ hỗ trợ doanh nghiệp cốt lõi của bạn và các miền chung là những thứ bạn cần, nhưng không quan tâm lắm, vì vậy bạn có thể mua chúng trên giá. Đối với một công ty bảo hiểm, tên miền chính là bảo hiểm, một miền hỗ trợ có thể là danh mục đầu tư của khách hàng và một miền chung có thể là một thứ giống như bảng chấm công.

Nói chung ngữ cảnh bị giới hạn là ranh giới trong đó ngôn ngữ phổ biến nhất quán. Trong DDD walhalla mỗi tên miền phụ sẽ sống trong bối cảnh giới hạn của riêng nó. Trong thực tế, tuy nhiên, có di sản, có những gói mà cố gắng làm tất cả mọi thứ cùng một lúc ... mà sẽ buộc tất cả các loại mối quan hệ awkard.

+1

giải thích tốt đẹp, cảm ơn! –

13

Tôi cố gắng giải thích các khái niệm này theo sự hiểu biết của mình.

Trong DDD, tất cả mọi thứ nên được thông báo dưới ngôn ngữ phổ biến do đó, nhóm và kinh doanh đội ngũ kỹ thuật có thể sử dụng các điều khoản tương tự và có tầm nhìn tương tự về những vấn đề

  • miền trong DDD đại diện cho vấn đề thực sự trong kinh doanh. Chẳng hạn như: Thương mại điện tử là miền, hệ thống thanh toán là miền
  • Tên miền được chia thành nhiều tên miền phụ, vì vậy, mỗi miền phụ tập trung vào các vấn đề nhỏ hơn. Chẳng hạn như: Thương mại điện tử có nhiều tên miền phụ như: Giỏ hàng, Thanh toán, Danh mục sản phẩm, Thông tin khách hàng ...
  • Mỗi tên miền phụ phải có trách nhiệm rõ ràng để có ranh giới giới hạn chức năng của chúng. tập trung vào miền chỉ làm 1 việc và làm tốt. Ranh giới này được coi là ngữ cảnh bị chặn của miền phụ. Ngữ cảnh bị ràng buộc sẽ xác định:
    • Cần bao nhiêu mô hình miền cho miền phụ?
    • Thuộc tính nào cần thiết trong từng mô hình?
    • Những chức năng nào cần thiết trong miền phụ?

Ex: Giỏ hàng phụ miền cần mô hình: giỏ hàng, sản phẩm, khách hàng Thông tin ... và chứa các chức năng để thực hiện CRUD trên giỏ hàng. Lưu ý: Sản phẩm và mô hình Khách hàng trong miền phụ Giỏ hàng có thể không giống với các mô hình trong danh mục Sản phẩm và Hồ sơ khách hàng, chúng chỉ chứa các thuộc tính cần thiết để hiển thị trên Giỏ hàng.

Các vấn đề liên quan