Tôi có một chút vấn đề, và tôi không thực sự chắc chắn làm thế nào để giải quyết nó. Tôi có lắp ráp mô hình của tôi trong đó có khoảng 200 đối tượng kinh doanh khác nhau (Đặt hàng, khách hàng, sản phẩm, vv).Có điều gì như quá nhiều dịch vụ WCF không?
Tôi không muốn trả lại toàn bộ biểu đồ đối tượng khi ai đó muốn nhận, ví dụ: Đơn đặt hàng. Thay vào đó, tôi muốn đơn giản trả về đối tượng và tải lười (hoặc thậm chí tải không đồng bộ) các phần khác. Điều này có vẻ như nó sẽ dẫn đến rất nhiều "Get (Object Name)" dịch vụ:
- GetOrder (int id)
- GetCustomer (int id)
- GetProduct (int id)
- v.v.
Tôi không muốn tạo 200 phương thức khác nhau, mỗi phương thức cho mỗi thao tác Nhận. Tôi nhận ra tôi có thể có thể làm một cái gì đó như: GetObject(string type, int id)
, và sau đó sử dụng phản ánh bằng cách nào đó để có được các đối tượng thích hợp trở lại, nhưng tôi nghĩ rằng thậm chí còn tồi tệ hơn (có thể).
Nếu tôi, thay vào đó, sử dụng mẫu T4 để tự động hóa công việc tạo từng dịch vụ khác nhau, điều đó sẽ tốt hơn ... nhưng nó vẫn khiến tôi lo lắng về một điều ... hiệu suất.
Thật tệ khi có 200+ dịch vụ khác nhau được hiển thị (một cho mỗi đối tượng)?
Bạn nên xác định "xấu" chặt chẽ hơn để đặt câu hỏi này thành một câu hỏi lành mạnh. – spender
Tùy thuộc vào cách khách hàng sẽ gọi nó. Nếu bạn không bao giờ gọi 199, thì bạn không thực sự có nhiều dịch vụ. Nếu khách hàng của bạn trong một tương tác điển hình gọi tất cả 200 người trong số họ, thì bạn có API thực sự trò chuyện. API nên được chunky & không chatty và kết hợp như nhiều hành động với nhau mà bạn có thể dự báo có thể được gọi với nhau. API chi tiết + chunky sẽ có hơn 200 điểm kết thúc dịch vụ. – MatthewMartin
Bạn có nghĩa là có phương pháp riêng cho từng loại trong một dịch vụ duy nhất hoặc lưu trữ từng loại như một dịch vụ riêng biệt? – Rajesh