2013-08-15 38 views
5

tôi đã phát triển một ứng dụng với các lớp sau: lớp truy cậpnơi để xử lý DTO <-> kinh doanh đối tượng chuyển đổi

  • dữ liệu dựa trên nHibernate
  • quy tắc kinh doanh thông thạo
  • lớp
  • hoạt động (trừu tượng hơn quy tắc kinh doanh và sử dụng một số quy tắc kinh doanh )
  • lớp dịch vụ dựa trên WCF gửi một số DTO tới thế giới bên ngoài và nhận DTO.

vì vậy khi một số DTO quay lại, tôi có thể ánh xạ DTO tới đối tượng kinh doanh trong lớp dịch vụ và làm cho ứng dụng của tôi hoạt động với đối tượng kinh doanh. trong trường hợp đó khi một số chức năng trong các lớp thấp hơn thực hiện nó không biết bất kỳ điều gì về đối tượng cũ, do đó, nó trở nên khó xử lý và xác minh trạng thái thay đổi và cũng có sự bùng nổ lớp cho bộ điều hợp DTO. Mặt khác, nếu dto được ánh xạ tới đối tượng kinh doanh trên các lớp cao hơn, khi nó xuống, các lớp thấp hơn không biết gì về dịch vụ được gọi, vì vậy chúng không thể biết cách dto này phải thay đổi đối tượng kinh doanh. 1 DTO có thể được sử dụng bởi các dịch vụ khác nhau theo những cách khác nhau)

vì vậy câu hỏi là giải pháp thực sự là gì ??

+0

Bạn có thể hiển thị một chút mã không? Ví dụ: Phương thức dịch vụ WCF của bạn được gọi là gì? Tên của phương thức/lớp tương ứng trong lớp doanh nghiệp của bạn là gì? Ví dụ về hàm trong các lớp thấp hơn là gì? – Halvard

Trả lời

2

Từ thông số kỹ thuật của bạn, tôi là loại giả sử bạn đang hướng tới việc thực hiện DDD dựa

Thứ nhất, một số giả định để giúp lập bản đồ ngữ để phổ biến hơn này: Tôi giả định "Quy tắc kinh doanh" lớp của bạn chỉ được sử dụng bởi lớp hoạt động của bạn và do đó có thể được coi là một phần của lớp miền.

Bạn đề cập đến các đối tượng kinh doanh. Tôi giả sử sau đó bạn có một lớp miền. Đây có thể là "lớp hoạt động" của bạn. Đây sẽ là lớp biết cách cập nhật các đối tượng và đưa chúng trở lại lớp dịch vụ.

Lớp dịch vụ (hoặc "lớp ứng dụng" trong điều khoản DDD) nên ánh xạ các DTO và gọi các dịch vụ miền. MS có biểu đồ phong nha here. Nhưng về cơ bản các quy trình làm việc nên là:

  1. Gửi DTO để phục vụ lớp
  2. lớp dịch vụ gọi adapter DTO để tạo các đối tượng miền/đơn vị ra khỏi DTOs.
  3. lớp dịch vụ gọi dịch vụ miền để thực hiện logic kinh doanh (gọi quy tắc)
  4. dịch vụ tên miền đối tượng cập nhật tên miền như một kết quả của quy tắc kinh doanh
  5. lớp
  6. kiên trì được gọi bởi các dịch vụ tên miền như miền cần
  7. dịch vụ tên miền trả lại được cập nhật đối tượng lớp dịch vụ
  8. dịch vụ bản đồ lớp miền đối tượng trở lại DTO và trả chúng

Tất nhiên có nhiều biến thể về chủ đề này, nhưng điều này nên bạn r điểm bắt đầu.

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