0
A
답변
6
먼저 COM은 상당히 오래된 기술이라고 언급 할 가치가 있습니다. 그것은 .NET보다 훨씬 앞서 있습니다. 때로는 동일한 기능을 제공합니다. 그러나 일반 DLL과 비교하면 몇 가지 장점이 있습니다. 예를 들면 다음과 같습니다.
- 기능적 인터페이스는 없지만 OO 기능은 있습니다. 내 보낸 함수를 호출하는 대신 개체를 만듭니다.
- 시스템 보안 설정을 지원하므로 Windows 보안 설정을 통해 COM 클래스에 대한 액세스를 관리 할 수 있습니다.
- 프로세스 경계를 넘어서 - COM 서버는 사용자 프로세스에 있거나 별도의 프로세스에있을 수 있습니다.
- 기계 경계, 일명 DCOM을 교차합니다.
- 언어 경계를 넘습니다. COM의 프로토콜은 이진이므로 지원되는 모든 언어는 해당 구성 요소가 작성된 언어와 상관없이 COM 구성 요소를 사용할 수 있습니다.
- COM을 지원하고 COM 개체를 쉽게 만들고 사용할 수있는 언어가 많이 있습니다.
이것은 빙산의 일각에 불과합니다. 날짜가 있지만 COM은 Windows에서 널리 사용됩니다. 요즘 사용하기에 적합한 기술인지 여부는 다른 문제입니다. 이는 실제로 귀하의 특정 요구에 달려 있습니다. 그러나 당신이 Windows 프로그래머라면, 어쨌든 친숙해질 가치가 있습니다. 심지어 COM 제품을 생산하지 않는다면, 소비 할 가능성이 큽니다. 당신은 같은 다양한 상황에서 COM을 사용
1
:
- 이 (COM 객체를 소모)을 MSXML3/4/6 XML의 API와 상호 작용;
Internet Explorer WebBrowser 컨트롤 포함 (COM 개체 사용).
컨텍스트 메뉴 (COM 개체 작성 및 사용)와 같은 탐색기 셸 확장을 구현합니다.
드래그 앤 드롭 기능 (쓰기 및 소비) 구현.
Vista 기반 파일 열기/닫기 대화 상자 사용 (소비 중);
Windows 기반 리본 API (사용 중)를 사용합니다.
관련 문제
- 1. autoRelease. 왜 그리고 언제?
- 2. Javascript 메서드 인 CollectGarbage()는 무엇입니까? 언제 그리고 왜 사용해야합니까?
- 3. 언제 그리고 어떤 시나리오를 사용해야합니까? Expression Tree
- 4. 언제 UITableView reloadData를 사용해야합니까? 그리고 관련된 결함;)
- 5. 언제, 왜 System.ComponentModel.Container 클래스를 사용해야합니까?
- 6. JavaScript를 통한 JQuery 왜 그리고 언제 사용합니까?
- 7. NSUserDefaults의 동기화 메서드가 언제 그리고 왜 실패합니까?
- 8. 언제 그리고 왜 객체를 놓아야 하는가?
- 9. 왜 CGI와 PHP가 필요합니까? 그리고 언제?
- 10. 작업 단위는 어디에 사용해야합니까? 그리고 왜?
- 11. 왜 SPATIAL INDEX 란 무엇이며 언제 사용해야합니까?
- 12. 왜 COM을 배워야합니까?
- 13. 로깅, 언제 그리고 무엇?
- 14. div는 언제 사용해야합니까? 프레임은 언제 사용해야합니까? 다른 형식의 동적 콘텐츠는 언제 사용해야합니까?
- 15. 언제 그리고 왜 sprintf가 실패 할 수 있습니까?
- 16. DWORD_PTR, INT_PTR, LONG_PTR, UINT_PTR, ULONG_PTR 언제, 어떻게 그리고 왜?
- 17. DragDetect는 언제 그리고 어떻게 유용합니까?
- 18. Import-Package는 언제 사용해야합니까? Require-Bundle은 언제 사용해야합니까?
- 19. 언제 asp.net에서 "spring.net"을 사용해야합니까?
- 20. 언제 _aligned_malloc()을 사용해야합니까?
- 21. 언제 FSharpFunc.Adapt를 사용해야합니까?
- 22. 우리는 ANTLR을 언제 사용해야합니까
- 23. cfthread는 언제 사용해야합니까?
- 24. 인터페이스 작성기는 언제 사용해야합니까?
- 25. 언제 OSGi EventAdmin을 사용해야합니까?
- 26. 언제 ConcurrentSkipListMap을 사용해야합니까?
- 27. 언제 jQuery에서 마침표를 사용해야합니까?
- 28. 언제 == 비교기 ===를 사용해야합니까?
- 29. 레일즈 : 언제 자기를 사용해야합니까?
- 30. 언제 GC.SuppressFinalize()를 사용해야합니까?
+1 "심지어 어떤 COM 제품도 생산하지 않으므로 소비 할 가능성이 큽니다." –