Tôi đồng ý với crunchdog-- cho tất cả trừ các ứng dụng web tầm thường nhất bạn nên có dạng phẳng của đối tượng doanh nghiệp của bạn dành riêng cho lớp UI/view của bạn. Đôi khi điều này được gọi là lớp Chế độ xem và thường không chứa gì hơn một số thuộc tính chuỗi mà lớp giao diện người dùng có thể nhận được từ và đưa trực tiếp mà không phải lo lắng về xác thực. (Xem asp.net mvc)
Thứ nhất, điều này sẽ giúp các lớp UI sạch hơn và đơn giản hơn, để lại nó để đặt nó là nỗ lực hướng tới hiển thị dữ liệu chứ không phải đi qua các cấu trúc đối tượng, kiểm tra và giải thích null vv
này cũng cung cấp cho lớp nghiệp vụ cơ hội để xác thực khi các giá trị chuỗi đó, trả về các giá trị được nhập nếu chúng không hợp lệ. Điều này có thể tiết kiệm sự thất vọng mã hóa khi, ví dụ, máy chủ của bạn phải xử lý một ngày không hợp lệ trong một trường ngày tháng. Lớp nghiệp vụ, nhận ra các giá trị không hợp lệ, có thể trả lại chính xác như đã nhận cùng với các thông báo lỗi thích hợp. Nếu tất cả các bạn xử lý là các đối tượng tên miền/doanh nghiệp, thì một số giá trị được nhập có thể không phải lúc nào cũng phù hợp với các đối tượng dự định giữ chúng.
Nó cũng có thể giúp có một lớp được chỉ định để ánh xạ các giá trị qua lại giữa các đối tượng kinh doanh/tên miền và mô hình đối tượng/chế độ xem giao diện người dùng. Điều này giúp giữ cho các lớp kinh doanh được phân tách một cách rõ ràng.
cảm ơn tất cả các ý kiến của bạn - được đánh giá cao – Nick