Câu trả lời:
Về cơ bản, đây là một công nghệ cũ được sử dụng để viết chương trình trong môi trường Windows. Nó lớn và phức tạp và không thú vị để quản lý / hỗ trợ. .NET framework là sự thay thế của nó.
Một đối tượng COM về cơ bản là một hộp đen thực hiện một số giao diện đã biết. Nó cũng có thể tự đăng ký với Windows để các chương trình có thể nắm giữ nó.
Ví dụ: giả sử có một số giao diện ICalculator
mà tôi viết chương trình của mình để sử dụng. Bây giờ tôi có thể trao đổi trong bất kỳ đối tượng nào, được viết bằng bất kỳ ngôn ngữ lập trình nào (vì đó là giao diện nhị phân) thực hiện ICalculator
. Sau đó, trong thời gian chạy, tôi có thể cung cấp một số loại tùy chọn cho người dùng của mình để họ có thể chọn sử dụng FooCorpCalculator
đối tượng COM, được viết bằng Python hoặc có lẽ nếu họ cần thêm tốc độ, họ có thể chọn NinjaCalculator
viết bằng C. Điểm là, tôi viết chương trình của tôi phụ thuộc vào giao diện, không phải triển khai và sau đó chọn sử dụng đối tượng COM thực tế thực hiện giao diện sau này.
Tất nhiên có nhiều hơn thế, nhưng đó có thể là một ví dụ làm cho nó cụ thể hơn đối với bạn.
Xem bài viết Wikipedia này: Mô hình đối tượng thành phần
Mô hình đối tượng thành phần (COM) là một tiêu chuẩn giao diện nhị phân cho thành phần phần mềm được Microsoft giới thiệu vào năm 1993. Nó được sử dụng để cho phép giao tiếp giữa các quá trình và tạo đối tượng động trong một loạt các ngôn ngữ lập trình. Thuật ngữ COM thường được sử dụng trong ngành phát triển phần mềm của Microsoft như một thuật ngữ bao gồm các công nghệ OLE, OLE Tự động hóa, ActiveX, COM + và DCOM.
Một đối tượng COM thường được thực hiện trong một tệp DLL. Chúng có thể được sử dụng bởi các chương trình cho một loạt các chức năng. Thuật ngữ "đối tượng" như được sử dụng ở đây dùng để chỉ các đối tượng trong lập trình hướng đối tượng .
COM được thiết lập các công nghệ dành riêng cho Windows để cho phép tái sử dụng mã và khả năng tương tác, chủ yếu ở cấp độ nhị phân (không nhất thiết phải ở cấp mã nguồn).
Đầu những năm 1990, Bill Gates đã không cho phép nhóm phát triển Powerpoint triển khai một hệ thống con biểu đồ riêng cho sản phẩm Powerpoint, vì Microsoft đã có Excel. Vì vậy, họ đã phát triển một đặc điểm kỹ thuật để cho phép các sản phẩm nội bộ của họ trao đổi dữ liệu và gọi các chức năng của nhau. Microsoft đã khái quát các API này, xuất bản chúng và nhiều hướng dẫn thiết kế mã hơn.
Xem video này từ năm 2006: Tony Williams: Đồng phát minh ra COM
Tôi nghĩ rằng, bây giờ vào năm 2012, COM vẫn là cốt lõi của WMI và Office.