Читаем Сущность технологии СОМ. Библиотека программиста полностью

Что мне особенно нравится в этой книге, так это путь, которым идет Дон, освещая СОМ для читателя. Сначала перед вами открываются проблемы создания рассредоточенных и действующих одновременно систем; затем вам подробно и тщательно объясняют, как эти проблемы решает СОМ. Даже если вы не знаете абсолютно ничего о СОМ, когда начинаете читать эту книгу, вас проведут по простой и понятной концептуальной модели СОМ, после чего вы поймете все задачи, которые СОМ ставит перед собой, и вам станет ясен характер сил, придающих ему ту структуру и тот образ действий, которыми он обладает. Если же вы – опытный разработчик СОМ, то вы в полной мере оцените предложенные Доном остроумные и нестандартные способы применения СОМ для решения обычных задач.

СОМ – наиболее широко используемая объектная модель для разработки рассредоточенных и действующих одновременно систем. Эта книга поможет вам использовать СОМ для успешного развития такого рода систем.

Грэйди Буч (Grady Booch)

<p>От автора</p>

Моя работа завершена. Наконец-то я могу отдохнуть, осознав, что наконец изложил на бумаге то, что часто называют развернутой летописью СОМ. Книга отражает эволюцию моего собственного понимания этой норовистой технологии, которую фирма Microsoft в 1993 году сочла достаточно послушной для показа программистскому миру. Хотя я и не присутствовал на конференции профессиональных разработчиков по OLE (OLE Professional Developer's Conference), я по-прежнему чувствую себя так, как будто я занимаюсь СОМ всегда. После почти четырех лет работы с СОМ я с трудом вспоминаю доСOМовскую эру программирования. Тем не менее, я прекрасно помню свой мучительный путь через прерию СОМ в начале 1994 года.

Прошло около шести месяцев, прежде чем я почувствовал, что понял в СОМ хоть что-либо. В течение этого шестимесячного стартового периода работы с СОМ я мог успешно писать СОМ-программы и почти мог объяснить, почему они работают. Однако у меня не было органического понимания того, почему модель программирования СОМ была тем, чем она была. К счастью, в один из дней, а именно 8 августа 1994 года, примерно через шесть месяцев с момента покупки книги OLE2 изнутри (Inside OLE2), на меня снизошло прозрение, и в одночасье СОМ стал для меня понятен. Это никоим образом не означало, что я понимал каждый интерфейс СОМ и каждую API-функцию. Но я в значительной степени понял главные побудительные мотивы СОМ. А значит, стало ясно, как применить эту модель программирования к ежедневным программистским задачам. Многие разработчики испытали нечто похожее. А так как я пишу это введение три августа спустя, эти разработчики все еще вынуждены пройти сквозь этот шестимесячный период ожидания, прежде чем стать продуктивными членами сообщества СОМ. Я хотел бы надеяться, что моя книга сможет сократить этот период, но обещаний не даю.

Как подчеркивается в этой книге, СОМ – это в большей степени стиль программирования, чем технология. С этих позиций я стремился не вбивать в читателя подробные описания каждого параметра каждого метода каждого интерфейса. Более того, я старался выделить сущность того, чему в действительности посвящена СОМ, предоставив документации по SDK заполнить пробелы, остающиеся в каждой главе. Насколько это возможно, я стремился скорее обрисовать те напряжения, которые лежат в основе каждого отдельного аспекта СОМ, нежели приводить подробные примеры того, как применять каждый интерфейс и каждую API-функцию к какой-нибудь хитроумной иллюстративной программе. Мой собственный опыт показал, что как только я понял почему, понимание как последовало само собой. И наоборот, простое понимание как редко ведет к адекватному проникновению в суть с тем, чтобы экстраполировать за пределы документации. И если кто-то надеется быть в курсе непрерывного развития этой модели программирования, то глубокое понимание ее сути необходимо.

СОМ является чрезвычайно гибкой основой для создания рассредоточенных объектно-ориентированных систем. Чтобы использовать эту гибкость СОМ, часто требуется мыслить вне ограничений, диктуемых документацией по SDK, статьями или книгами. Моя личная рекомендация состоит в том, чтобы осознать: все, что вы читаете (в том числе и эта книга), может быть неверным или вопиюще устареть, и вместо этого необходимо сформировать свое собственное понимание этой модели программирования. Безошибочный путь к пониманию этой модели программирования состоит в том, чтобы сконцентрироваться на совершенствовании базового словаря СОМ. Это может быть достигнуто только через написание программ в стиле СОМ и анализ того, почему эти программы работают так, как они работают. Чтение книг, статей и документации может помочь, но в конечном счете только выделение времени на обдумывание четырех основных принципов СОМ (интерфейсы, классы, апартаменты (apartments) и обеспечение безопасности) может повысить вашу эффективность как разработчика СОМ.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных