2013-07-25 29 views
7

Tôi bắt đầu với triết lý DDD và tôi muốn triển khai tích hợp với hệ thống kế thừa mà chúng tôi có ở đây. Trong các nghiên cứu của tôi trên internet, tôi đã tìm thấy một số bài báo và các mẫu nhưng tôi phải thừa nhận: là khá khó để hiểu cách thực hiện tích hợp đó một cách chính xác.Làm thế nào để thực hiện một Lớp Chống Tham nhũng một cách chính xác

Trước khi đặt câu hỏi này, tôi đã tìm kiếm ở đây nhưng kết quả không hữu ích cho tôi, vì vậy tôi muốn biết nếu có thể gửi hoặc hiển thị cho tôi mẫu thực hiện ACL.

Ở đây tôi có các mục này:

  • Hệ thống Legacy
  • Cơ sở dữ liệu di sản (Tôi cần phải truy cập)
  • Các ứng dụng mới sẽ được tạo ra bằng cách sử dụng phương pháp DDD

Ý tưởng ban đầu là truy cập cơ sở dữ liệu đó trong NHibernate, chỉ tạo một số lớp ánh xạ cần thiết, các thực thể miền và thực hiện các quy tắc nghiệp vụ. Theo Eric Evans, chiến lược này được gọi là [Bubble Context] [1]. Tôi nghĩ rằng chiến lược này sẽ giải quyết vấn đề của tôi, nhưng tôi cần một số mẫu để làm điều đó một cách đúng đắn.

Ai đó có thể giúp tôi không?

+2

Bạn đã đọc cuốn sách "Thiết kế điều khiển tên miền" của Eric Evans chưa, có phần về acl. Acl thực sự là một ví dụ về việc áp dụng mẫu bộ điều hợp trong DDD. – Hippoom

+1

Một gợi ý tôi có từ trải nghiệm cá nhân là không chuyển sang truy cập cơ sở dữ liệu cũ bằng NHibernate vì nó có thể không đáng giá. Thay vào đó, hãy tập trung vào việc gói gọn hệ thống cũ với một dịch vụ mà sau đó có thể được truy cập bằng ứng dụng mới thông qua ACL. – eulerfx

Trả lời

6

ACL là mẫu và không chỉ là đoạn mã. Trong những gì bạn mô tả bạn đã không nói làm bạn có phụ thuộc mạnh mẽ khi hệ thống di sản hoặc bạn chỉ muốn có một số mã độc lập được xây dựng vào hệ thống hiện hành? Với điều này bạn có thể quyết định sẽ là ACL của bạn chỉ là một dịch vụ cho cơ sở dữ liệu hoặc nó sẽ kết hợp một số gói khi logic hệ thống di sản?

Các phần thực tế mà bạn đưa vào ALC phụ thuộc nhiều vào việc triển khai của bạn. Có một lược đồ nói chung về những gì bạn đang yêu cầu cho: enter image description here

Bạn có thể tìm thêm thông tin trong Eric Evan's talk.

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