Сообщений 6 Оценка 71 Оценить |
Это первый том двухтомника «Программирование сетевых приложений на С++», посвященный библиотеке The ADAPTIVE Communication Environment (ACE) – одной из самых переносимых C++ библиотек, предназначенной для разработки сложных, многоплатформенных приложений, и широко используемой во всем мире. В нем читатель знакомится с самой библиотекой, ее историей, основными чертами ее архитектуры и принципами использования.
Первый том посвящен небольшому числу классов ACE – интерфейсным фасадам, необходимым для работы с механизмами IPC и параллельным программированием (потоки и процессы). На протяжении всей книги рассматривается один пример – создание сетевой службы регистрации, и показывается реализация этого примера с использованием очередного описанного средства ACE.
Книга предназначена, в основном, разработчикам-практикам, нуждающимся в удобном и мощном инструменте для создания сложных кроссплатформенных приложений. Так же она может быть интересна студентам старших курсов и аспирантов, да и просто всем интересующимся разработкой серьезного ПО на C++.
Лучше всего о назначении и структуре книги говорят ее авторы:
«…Эта книга адресована, в первую очередь, разработчикам-практикам, студентам старших курсов и аспирантам, а также всем заинтересованным в изучении стратегии и тактики применения C++ и объектно-ориентированного проектирования при программировании параллельных сетевых приложений. Мы рассматриваем основные аспекты, принципы и паттерны проектирования, необходимые для того, чтобы в сжатые сроки и без больших проблем разрабатывать гибкие и эффективные параллельные сетевые приложения. Многочисленные примеры кода на C++ дополняют излагаемые принципы проектирования и показывают на конкретных примерах как сразу начать использовать основные классы ACE. Мы переносим вас «за кулисы», чтобы показать, как и почему механизмы IPC и параллелизма разработаны именно такими, какими вы их видите в инструментальной библиотеке ACE…»
«…В книге 11 глав. Они организованы следующим образом:
Приложение A суммирует принципы проектирования и реализации классов, лежащих в основе интерфейсных фасадов ACE IPC и параллелизма. Приложение B прослеживает, с самого начала, десятилетнюю эволюцию открытого исходного кода ACE и намечает пути его развития в будущем…»
Эта книга – первая в серии книг, посвященных замечательной кроссплатформенной объектно-ориентированной библиотеке ACE (The ADAPTIVE Communication Environment). Это очень большая библиотека, предназначенная, в первую очередь, для разработки переносимых сетевых приложений. Данная книга начинает знакомить читателя с самой библиотекой, особенностями ее архитектуры, принципами построения и использования, а так же с ее историей и текущим состоянием.
Данная книга является достаточно простым и последовательным введением в ACE. Мне кажется, что в ней достигнут удачный компромисс между сложностью и объемом самой библиотеки, и формой подачи материала. В книге большое количество примеров C++ кода. Наиболее важные примеры даны с нумерацией строк, а после примера следует детальное построчное рассмотрение кода с акцентами на наиболее важных моментах. Так же удобно, что во всей книге рассматривается одна задача – служба сетевой регистрации, и показывается, как изменяется ее реализация при переходе к использованию более высокоуровневых средств ACE.
Нужно сказать, что библиотека ACE очень велика. И в данной книге авторы ограничились описанием очень небольшого количества интерфейсных фасадов ACE. При этом «за бортом» остались такие важные части, как кроссплатформенные реализации большинства функций стандартной библиотеки и объектно-ориентированные каркасы (каркасам посвящен второй том «Программирования сетевых приложений на C++»). Поэтому данную книгу вряд ли получится использовать в качестве справочного пособия по ACE, все же ее основная цель – это знакомство читателя с библиотекой.
Со временем, после начала работы с ACE, складывается впечатление, что книга является всего лишь компиляцией статей создателя ACE, профессора Дугласа Шмидта, и вырезок из on-line документации по ACE. Более того, даже не очень полной компиляцией. Тем не менее, заслуга книги в том, что материал в ней подается последовательно, от простого к сложному. Поэтому по ходу чтения удается получить хорошее впечатление об основных принципах ACE, что гораздо сложнее сделать, изучая, к примеру, только on-line документацию.
К недостаткам книги я бы отнес достаточно специфический язык авторов. Например, черезмерное использование слов «эффективный». Так же читателю потребуется хорошее понимание термина «паттерн» и знание основных паттернов, описанных в «GoF».
Недостатками именно русскоязычного издания я считаю не очень высокое качество печати (заметно на врезках) и наличие опечаток в примерах кода и названиях методов.
Я бы рекомендовал данную книгу всем, кто хотел бы ознакомиться с библиотекой ACE. А так же тем, кто занимается кроссплатформенной разработкой на C++, и еще не выбрал для себя базовую объектно-ориентированную библиотеку. А так же тем, кто занимается разработкой подобных библиотек - «для общего развития». В общем, интересное и полезное чтение для C++ программистов, пишущих код для нескольких ОС или занимающихся написанием околосистемного ПО, работающего непосредственно над уровнем ОС (например, ПО промежуточного слоя).
Сообщений 6 Оценка 71 Оценить |