Я хочу изучать COM. Как мне поступить? - PullRequest
11 голосов
/ 05 июня 2009

Я новичок с дипломом бакалавра в области компьютерных наук. Как и большинство современных школ, они больше не преподают учащимся С и не продвигают С ++ (только вводный курс по С ++ ... С уроками до указателей). Стандартным языком программирования, предписанным в учебном плане, является C # (стек .NET).

Совсем недавно меня наняли младшим разработчиком программного обеспечения. 95% нашей кодовой базы находится на C ++, и наши продукты используют COM / DCOM. Остальные 5% находятся в .NET. Моя текущая обязанность заключается в поддержке проекта, написанного на .NET (ASP.NET), и я не обязан изучать C ++ и другие технологии YET. Но я хочу изучить COM как можно скорее, чтобы помочь другим проектам.

Так что я ищу совет этого сообщества о том, как я могу изучать COM. Мои текущие вопросы следующие:

  1. Любое обязательное чтение? (Предварительно необходимые темы)
  2. Хороший сайт в изучении основ COM?
  3. Тип Простой Программы, чтобы по-настоящему оценить «цель» COM (возможно, программа чата?)

Спасибо! :)

PS: Должен ли я отметить это как вики сообщества?

Ответы [ 8 ]

9 голосов
/ 05 июня 2009

В моей библиотеке есть такие книги по COM, которые я бы порекомендовал:

  1. 1995 - Крейг Брокшмидт - Inside OLE 2nd Edition
  2. 1998 - Don Box - Essential COM
  3. 1999 - Джордж Шепард - Внутри ATL
  4. 2000 - Эндрю Троелсен - Семинар разработчиков для COM и ATL 3.0
  5. 2006 - Кристофер Таварес - ATL Internals: работа с ATL 8, 2-е издание

и если вы говорите, что у вас есть какой-то фон .net, значит

  1. 2003 - Джулиан Темплман - Программирование COM с помощью Microsoft .NET

Надеюсь, это поможет.

9 голосов
/ 05 июня 2009

Чтобы узнать самые основные идеи COM, я никогда не сталкивался с чем-то лучше, чем Inside COM Дейла Роджерсона. Это старая книга, но она очень четко объясняет, зачем нужен COM и как он реализован, и вы можете получить копию из вторых рук на Amazon.

Что касается книг о Дон Боксе, я прочитал их все и думаю, что они чертовски бедны. Бокс никогда не объясняет мотивацию кода, который он описывает, и использует глубоко нереалистичные примеры. Но я понимаю, что это мнение меньшинства.

8 голосов
/ 05 июня 2009

Книга Дона Бокса о СОМ является окончательным справочником. Амазонская ссылка .

Осторожно, это сложное чтение, но оно охватывает все глубоко. И помни, как сказал Дон ... КОМ ЛЮБОВЬ.

Я не верю, что вы можете найти много веб-сайтов, COM был современной технологией много лет назад, но если вы можете забыть об этом, поверьте мне ... это лучше!

5 голосов
/ 12 марта 2013

В MSDN доступно много контента: -)

  1. Чтобы понять COM http://msdn.microsoft.com/en-us/library/windows/desktop/ms680573(v=vs.85).aspx

  2. Для использования COM http://msdn.microsoft.com/en-us/library/windows/desktop/ms690156(v=vs.85).aspx

Прочитав их, следуйте этому руководству для разработки полного примера проекта COM от конца до конца.

http://www.codeguru.com/cpp/com-tech/activex/tutorials/article.php/c5567/Step-by-Step-COM-Tutorial.htm

3 голосов
/ 07 июня 2009

Некоторые классические книги уже упоминались здесь. Я также добавлю в Проектирование основанных на компонентах приложений Мэри Киртланд.

Он старый (как упоминалось в большинстве названий) и в основном предназначен для разработчиков Enterprise. Он имеет хороший обзор COM, не вдаваясь в подробности о сорняках, рассказывает о трехуровневой разработке, обсуждает MTS (книга предшествует COM +) и его использование. В нем также рассказывается о разработке данных и бизнес-компонентов, а также идет речь о разработке примера приложения.

Я не уверен, насколько хорошо он выдержал, но я помню, 10 лет назад это было отличное знакомство с миром COM. Сила книги в том, что она предполагает, что вы ничего не знаете о теме. Это хорошо сочетает теорию с практическими реализациями в логической прогрессии. Я думаю, что там тоже есть какой-то ASP (классический) ... так что ради любви всего святого пропустите эту часть. :)

Я помню, что у Dr. GUI было несколько замечательных статей о COM (например, «Мягкое руководство Dr. COMI по COM»), но они не могли их отследить.

2 голосов
/ 05 июня 2009

Прочтите книгу Дон Бокса, чтобы узнать все, что вы когда-либо хотели (и забыли) о СОМ.

Что касается цели COM: тогда как C ++ дает вам (источник) код повторное использование, COM дает вам (скомпилировано) компонент повторное использование.

1 голос
/ 05 июня 2009

Я бы порекомендовал книгу ATL Internals , возможно, она немного устарела, но она научит вас основам COM. Как прокомментировал этот постер, «Дон Бокс» также хорош.

0 голосов
/ 05 июня 2009

Это очевидно, но вы посещали сайт Microsoft для COM ? Вот как я начал, позже я просто гуглил информацию, когда застрял в чем-то (что было много, в некоторых моментах это было неприятно). Я также много спрашивал своих коллег, нет ничего лучше, чем личное объяснение какого-то вуду, которое вы можете увидеть в коде

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...