2011-09-14 22 views
5

Công cụ định vị dịch vụ có vẻ như là một khái niệm khá hữu ích và tôi muốn triển khai nó trong ứng dụng của mình. Tuy nhiên, tôi có một số câu hỏi về cách nó nên được thực hiện và làm thế nào nó nên được sử dụng kết hợp với các mô hình lập trình khác.Về mẫu thiết bị định vị dịch vụ

  1. SL có nên quản lý dịch vụ lưu trữ không? Đó là, khi SL bị phá hủy, nó có nên tự hủy hoại bản thân dịch vụ hay không, hay nó để lại cho bất kỳ ai đăng ký dịch vụ?

  2. Còn về tiêm phụ thuộc? Bây giờ tôi có một SL là có bất kỳ điểm nào trong việc vượt qua SL xung quanh như một tham số hay tôi nên truy cập nó trên toàn cầu? Sau khi tất cả, nhiều mục đích của DI được bao phủ bởi SL là tốt, và tôi sẽ không muốn lộn xộn rất nhiều chức năng của tôi với một tham số hơn.

Trả lời

8

Bạn sẽ nghĩ tôi đã viết bài viết này (tôi không), xem xét mức độ thường xuyên tôi đề cập đến nó:

Service Locator is an Anti-Pattern

Dependency Injection khiến phụ thuộc của bạn rõ ràng. Vị trí dịch vụ chôn cất chúng trong quá trình triển khai và tạo sự phụ thuộc khó khăn cho định vị của bạn.

+2

Bài viết tuyệt vời cho C# và Java nhưng không quá lớn so với C++. C++ cung cấp các cấu trúc (ví dụ các toán tử new và delete bị quá tải) mà không có cách nào để tiêm phụ thuộc. –

+0

Bài viết về java - không phải C++, do đó không hữu ích lắm. –

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