답변:
기본적으로 Windows 환경에서 프로그램을 작성하는 데 사용되는 오래된 기술입니다. 크고 복잡하며 관리 / 지원이 즐겁지 않았습니다. .NET 프레임 워크가 대체입니다.
COM 개체는 기본적으로 알려진 인터페이스를 구현하는 블랙 박스입니다. 또한 프로그램이이를 보유 할 수 있도록 Windows에 자체 등록 할 수도 있습니다.
예를 들어, ICalculator
사용할 프로그램을 작성하는 interface가 있다고 가정 해 봅시다 . 이제는 구현하는 이진 인터페이스이므로 프로그래밍 언어로 작성된 모든 객체를 바꿀 수 있습니다 ICalculator
. 그런 다음 런타임에 사용자에게 일종의 옵션을 제공 FooCorpCalculator
하여 Python으로 작성된 COM 객체 를 사용하도록 선택할 수 있으며 더 빠른 속도가 필요한 경우 NinjaCalculator
C 로 작성된 것을 선택할 수 있습니다 . 요점은 내 프로그램은 구현이 아닌 인터페이스에 의존하고 나중에 인터페이스를 구현하는 실제 COM 객체를 사용하도록 선택합니다.
물론 더 많은 것이 있지만, 그것은 당신에게 더 구체적으로 만드는 예일 수 있습니다.
이 Wikipedia 기사를 참조하십시오 : 컴포넌트 오브젝트 모델
COM (구성 요소 개체 모델)은 1993 년 Microsoft에서 도입 한 소프트웨어 구성 요소의 이진 인터페이스 표준입니다.이 도구는 광범위한 프로그래밍 언어에서 프로세스 간 통신 및 동적 개체 생성을 가능하게하는 데 사용됩니다. COM이라는 용어는 종종 Microsoft 소프트웨어 개발 산업에서 OLE, OLE 자동화, ActiveX, COM + 및 DCOM 기술을 포함하는 포괄적 인 용어로 사용됩니다.
COM 개체는 종종 DLL 파일로 구현됩니다. 다양한 기능을 위해 프로그램에서 사용할 수 있습니다. 여기서 사용 된 "객체" 라는 용어 는 객체 지향 프로그래밍의 객체를 의미합니다 .
COM은 기본적으로 바이너리 수준 (필수 소스 코드 수준은 아님)에서 코드 재사용 및 상호 운용성을 가능하게하는 Windows 관련 기술 집합입니다.
1990 년대 초 Bill Gates는 Microsoft에 이미 Excel이 있었기 때문에 Powerpoint 개발 팀이 Powerpoint 제품에 대한 자체 차트 하위 시스템을 구현하는 것을 허용하지 않았습니다. 그래서 사내 제품이 데이터를 교환하고 서로 기능을 호출 할 수 있도록 사양을 개발했습니다. Microsoft는 이러한 API를 일반화하고 게시했으며 훨씬 더 많은 코드 디자인 지침을 발표했습니다.
2006 년 비디오보기 : Tony Williams : COM의 공동 발명자
2012 년 COM은 여전히 WMI와 Office의 핵심이라고 생각합니다.