2010-03-14 26 views
6

Tôi có một số thời gian xây dựng các ứng dụng n-tier bằng cách sử dụng máy chủ cơ sở dữ liệu làm tầng dữ liệu, Winforms làm tầng trình bày và ASP.NET asmx webservice ở giữa gửi trở lại và ra Datasets untyped. Trong khi cách tiếp cận này đã làm việc cho tôi cho đến nay, nó chắc chắn không cảm thấy lỗi thời ngày hôm nay.Làm thế nào để thực hiện một kiến ​​trúc 3 tầng .net bằng cách sử dụng Winforms

Tôi nên sử dụng công nghệ nào nếu tôi tạo một ứng dụng kiến ​​trúc tương tự như ngày hôm nay? Công nghệ .net 4.0 được chào đón.

Tôi vẫn muốn một máy chủ cơ sở dữ liệu làm bộ dữ liệu và các dịch vụ web asmx có lẽ nên được thay thế bằng WCF. Tôi vẫn muốn có các tầng trình bày chạy như một ứng dụng máy tính để bàn (Winforms hoặc WPF) vì vậy bỏ qua ASP.net cho câu hỏi này.

Câu hỏi chính của tôi thực sự đi kèm với những gì để sử dụng làm đối tượng kinh doanh. Tôi muốn một cái gì đó được dễ dàng hơn để ràng buộc với giao diện hơn Datasets untyped và tập dữ liệu mạnh mẽ gõ cảm thấy rất nặng. Tôi cũng cần một thứ có thể theo dõi các thay đổi để đảm bảo người dùng không ghi đè các thay đổi của nhau trong cơ sở dữ liệu.

Khuôn khổ thực thể 4 có thể sử dụng được cho một trường hợp như thế này không? Có hướng dẫn kỹ lưỡng nào không?

+0

Tôi đã thừa kế một kiến ​​trúc chính xác như bạn mô tả (các tập dữ liệu chưa được phân loại qua asmx thành Winforms) vì vậy sẽ được quan tâm để xem những gì mọi người phải nói! –

Trả lời

1

Có một giới thiệu tốt để xây dựng các ứng dụng n-tier với EF 4 ở đây: http://msdn.microsoft.com/en-us/magazine/ee335715.aspx

Sự ra đời của các đối tượng POCO trong EF 4, làm cho nó dễ dàng hơn để xây dựng các ứng dụng n-tier, vì nó loại bỏ sự cần thiết phải lập trình ánh xạ để ánh xạ giữa các đối tượng EF và đối tượng truyền dữ liệu.

+0

Cảm ơn bạn, bài viết dường như là cách để đi, mặc dù nó bỏ qua một vài chi tiết. Tôi hơi lo lắng về việc ứng dụng khách trực tiếp tham khảo dịch vụ, nhưng có vẻ như cần thiết để tránh tạo các đối tượng proxy và tái sử dụng mô hình EF4. –

1

Tôi cũng thích sử dụng EF4 hoặc LinqToSQL, WCF, WF và có WPF để trình bày. Ngoài ra nếu bạn quyết định đi với WPF sử dụng một số thư viện cho IOC DI như Unity hoặc STRUCTUREMAP hoặc để tái sử dụng các thành phần MEF và vv. Nếu bạn đã sử dụng WPF như các hình thức cửa sổ bạn không đi lấy bất kỳ lợi ích từ nó.

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