2011-09-14 7 views

답변

6

먼저 COM은 상당히 오래된 기술이라고 언급 할 가치가 있습니다. 그것은 .NET보다 훨씬 앞서 있습니다. 때로는 동일한 기능을 제공합니다. 그러나 일반 DLL과 비교하면 몇 가지 장점이 있습니다. 예를 들면 다음과 같습니다.

  1. 기능적 인터페이스는 없지만 OO 기능은 있습니다. 내 보낸 함수를 호출하는 대신 개체를 만듭니다.
  2. 시스템 보안 설정을 지원하므로 Windows 보안 설정을 통해 COM 클래스에 대한 액세스를 관리 할 수 ​​있습니다.
  3. 프로세스 경계를 ​​넘어서 - COM 서버는 사용자 프로세스에 있거나 별도의 프로세스에있을 수 있습니다.
  4. 기계 경계, 일명 DCOM을 교차합니다.
  5. 언어 경계를 넘습니다. COM의 프로토콜은 이진이므로 지원되는 모든 언어는 해당 구성 요소가 작성된 언어와 상관없이 COM 구성 요소를 사용할 수 있습니다.
  6. COM을 지원하고 COM 개체를 쉽게 만들고 사용할 수있는 언어가 많이 있습니다.

이것은 빙산의 일각에 불과합니다. 날짜가 있지만 COM은 Windows에서 널리 사용됩니다. 요즘 사용하기에 적합한 기술인지 여부는 다른 문제입니다. 이는 실제로 귀하의 특정 요구에 달려 있습니다. 그러나 당신이 Windows 프로그래머라면, 어쨌든 친숙해질 가치가 있습니다. 심지어 COM 제품을 생산하지 않는다면, 소비 할 가능성이 큽니다. 당신은 같은 다양한 상황에서 COM을 사용

+3

+1 "심지어 어떤 COM 제품도 생산하지 않으므로 소비 할 가능성이 큽니다." –

1

:

  1. 이 (COM 객체를 소모)을 MSXML3/4/6 XML의 API와 상호 작용;

  2. Internet Explorer WebBrowser 컨트롤 포함 (COM 개체 사용).

  3. 컨텍스트 메뉴 (COM 개체 작성 및 사용)와 같은 탐색기 셸 확장을 구현합니다.

  4. 드래그 앤 드롭 기능 (쓰기 및 소비) 구현.

  5. Vista 기반 파일 열기/닫기 대화 상자 사용 (소비 중);

  6. Windows 기반 리본 API (사용 중)를 사용합니다.

관련 문제