2011-10-18 5 views
0

몇 가지 서비스를 제공하는 응용 프로그램을 만들었습니다. 지금 내가 제공하는 서비스 어떤 응용 프로그램을 요청 할 수있는 기능을 추가, 그래서 나는 두 가지 방법으로 다른 서비스를 만들 생각 :응용 프로그램에서 제공하는 서비스를 확인하는 방법은 무엇입니까?

  • 지정된 서비스가 응용 프로그램에 의해 제공되는 경우 첫 번째 방법은 true를 반환
  • 두 번째 메서드는 응용 프로그램에서 제공하는 서비스의 이름이있는 문자열 (문자열) 목록을 반환합니다.

이 접근 방식에 대해 어떻게 생각하십니까? 응용 프로그램에서 제공하는 서비스를 찾는 더 좋은 방법이 있습니까?

답변

2

일종의 설명은 처음에는 의미가 있지만 실제로는 첫 번째 방법 만 필요하다고 생각합니다.

이것은 COM과 10 년전에 처음으로 작업 할 때 개체가 인터페이스를 구현하지만 쿼리중인 인터페이스를 알아야 할 필요가 있는지 쿼리 할 수 ​​있습니다. 사람들은 왜 메소드를 호출하고 구현 된 모든 인터페이스의 목록을 가져올 수 없다는 말을하곤 했습니까? 간단히 대답은 목록을 얻더라도 인터페이스가 무엇인지 모르고 결과를 사용할 수 없다는 것입니다.

마찬가지로 클라이언트 응용 프로그램이 해당 방법이나 서비스가 무엇인지 정확히 알고 있지 않은 경우 추가, 곱하기, 목록은 말이되지 않습니다.

클라이언트 응용 프로그램에서 특정 서비스를 요청하고 그러한 서비스가 노출 된 경우에 대비하여 사실을 알릴 수있게하는 것이 더 좋습니다.

+0

생각해 보면 이용 가능한 서비스 목록에 맞습니다 ... 조언 해 주셔서 감사합니다! – enzom83

관련 문제