2009-12-20 3 views
6

Gần đây tôi nghe nhiều về COM tại nơi làm việc của tôi. Tôi cũng học được rằng COM là cũ. COM không được chấp nhận. Không có tương lai cho COM. Có đúng không?Tại sao tôi nên học COM?

Tôi muốn học COM vì tôi muốn biết những gì là phiền toái về nó, nhưng tôi không thể thuyết phục bản thân rằng đây là một lý do vững chắc để dành nhiều thời gian và học nó.

Vì vậy, bất kỳ một thể cho tôi biết:

  1. Tại sao tôi nên học COM?
  2. Khi tôi tìm hiểu COM, tôi có thể làm gì khi sử dụng? Tôi có nghĩa là các ứng dụng của nó.
+3

Bạn đã bao giờ sử dụng MS Word và đặt ảnh trong tài liệu chưa? Nếu vậy, bạn đang sử dụng COM. –

Trả lời

8

Tôi chỉ không thấy COM biến mất bất kỳ lúc nào. Nếu bạn muốn trở thành chuyên gia về cửa sổ, bạn phải hiểu cách hoạt động của nó.

4

Learning COM (hoặc ít nhất là au fait với khái niệm của nó) có nghĩa là bạn có thể tích hợp với hàng ngàn thành phần hiện có, bao gồm Microsoft Word và Excel.

Tôi làm việc chủ yếu trong miền Java, nhưng có một chút kiến ​​thức về COM nghĩa là tôi có thể giao tiếp hiệu quả với Word và Excel (đặc biệt) để tạo/đọc tài liệu theo chương trình. Tôi không có kiến ​​thức chuyên sâu, nhưng tôi có một chút, và điều đó làm tăng năng suất của tôi một cách đáng kể.

4

Bạn nên học đủ về COM để biết rằng bạn không muốn học thêm nữa.

Chi tiết về COM - đặc biệt từ ứng dụng đa luồng hoặc C++ - gây khó chịu, và tôi không muốn chúng trên bất kỳ ai (tôi không biết chính mình, nhưng tôi biết đủ để biết điều này).

Vì vậy, nếu bạn cần gọi thư viện COM, bạn nên tìm hiểu đủ COM để có thể làm như vậy, sau đó dừng lại. Lý tưởng nhất, sử dụng một ngôn ngữ như C# hoặc Delphi, nơi một số (hoặc hy vọng nhất) của các chi tiết được xử lý cho bạn tương đối minh bạch.

Có rất nhiều thư viện COM xung quanh, nhưng nếu bạn muốn sử dụng, bạn nên xem tài liệu cụ thể về cách thực hiện - có thể có một ví dụ hợp lý để bạn có thể dễ dàng điều chỉnh cho riêng mình sử dụng mà không cần nỗ lực quá nhiều. Nếu không, thì rõ ràng là không tốt và không nên sử dụng.

+0

Âm thanh kích thích gây kích thích hyperbolic với tôi. COM căn hộ (Tôi giả định đó là những gì bạn đang nhận được từ bình luận đa luồng) và marshalling không _that_ phức tạp, đặc biệt là nếu bạn dành thời gian để đọc các nguồn lực bên phải. Thêm vào đó, trong C++ bạn có thể sử dụng ATL như một lớp trừu tượng để ẩn hầu hết các công cụ soạn sẵn. –

+0

Đủ công bằng, có thể tôi đã phóng đại nó. Nhưng nó vẫn đẹp hơn nếu không phải lo lắng về chúng :) – MarkR

4

COM chắc chắn đáng học ở mức tối thiểu nếu bạn là nhà phát triển Windows. Một trường hợp phổ biến khác để sử dụng, ngoài các trường hợp khác đã được đề cập, đang trong quá trình triển khai binary behaviorsBHOs cho Internet Explorer. Cả hai đều được triển khai bằng cách sử dụng các giao diện COM giữa IE và mã của bạn.

Tôi cũng muốn đề nghị một vài nguồn lực để tìm hiểu về COM:

  1. Don Box của Essential COM. Nó là một mô tả tuyệt vời về lý do tại sao COM là cách nó được và thực sự giúp bạn có được một sự hiểu biết sâu sắc hơn về những gì đang xảy ra. Nếu bạn dành thời gian để đọc cuốn sách này, sau đó bạn sẽ có một sự hiểu biết cơ bản về nội bộ COM sẽ phục vụ bạn rất tốt.
  2. Hai bài viết này: {1, 2} ... là một cuộc thảo luận rất tốt về chủ đề cụ thể của căn hộ COM, ám chỉ đến "gây khó chịu" (không công bằng, imho) trong câu trả lời của MarkR.
+0

Chương đầu tiên của COM Essentail đưa ra một cái nhìn tổng quan về vấn đề COM đang cố gắng giải quyết - nó đáng để đọc ngay cả khi bạn lướt qua phần còn lại của cuốn sách. –