Would you like to see this page in English? Click here.


または
1-Clickで注文する場合は、サインインをしてください。
または
Amazonプライム会員に適用。注文手続きの際にお申し込みください。詳細はこちら
こちらからも買えますよ
この商品をお持ちですか? マーケットプレイスに出品する
API Design for C++
 
 

API Design for C++ [ペーパーバック]

Martin Reddy

価格: ¥ 4,966 通常配送無料 詳細
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
在庫あり。 在庫状況について
この商品は、Amazon.co.jp が販売、発送します。 ギフトラッピングを利用できます。
6点在庫あり。ご注文はお早めに。
2012/6/1 金曜日 にお届けします! 「お急ぎ便」オプション(有料)を選択して注文を確定された関東エリアへの配達のご注文が対象です。詳しくはこちら

キャンペーンおよび追加情報

  • 掲載画像とお届けする商品の表紙が異なる場合があります。ご了承ください。



商品の説明

内容説明

The design of application programming interfaces can affect the behavior, capabilities, stability, and ease of use of end-user applications. With this book, you will learn how to design a good API for large-scale long-term projects. With extensive C++ code to illustrate each concept, API Design for C++ covers all of the strategies of world-class API development. Martin Reddy draws on over fifteen years of experience in the software industry to offer in-depth discussions of interface design, documentation, testing, and the advanced topics of scripting and plug-in extensibility. Throughout, he focuses on various API styles and patterns that will allow you to produce elegant and durable libraries.

  • The only book that teaches the strategies of C++ API development, including design, versioning, documentation, testing, scripting, and extensibility.
  • Extensive code examples illustrate each concept, with fully functional examples and working source code for experimentation available online.
  • Covers various API styles and patterns with a focus on practical and efficient designs for large-scale long-term projects.

著者について

Dr. Martin Reddy is the founder and CEO of the software consultancy firm Code Reddy Inc. He holds a Ph.D. in Computer Science and has over 15 years of experience in the software industry. During this time, he has written 3 software patents and has published over 40 professional articles and a book on 3D computer graphics.

Dr. Reddy worked for 6 years at Pixar Animation Studios where he was lead engineer for the studio's in-house animation system. This work involved the design and implementation of various APIs to support several Academy Award-winning and nominated films, such as "Finding Nemo", "The Incredibles", "Cars", "Ratatouille", and "Wall-E."

Dr. Reddy currently works for Linden Lab on the Second Life Viewer, an online 3D virtual world that has been used by over 16 million users around the world. His work is currently focused on a radical redesign of the Second Life Viewer, putting in place a suite of robust APIs to enable extensibility and scriptability.


登録情報


この本のなか見!検索より (詳細はこちら
この本のサンプルページを閲覧する
おもて表紙 | 著作権 | 目次 | 抜粋 | 索引
この本の中身を閲覧する:

この商品を見た後に買っているのは?


類似した商品から提示されたタグ

 (詳細)
関連タグ(この商品に近い関連キーワード)を追加する++最初のタグになります
 
(5)

 

カスタマーレビュー

Amazon.co.jp にはまだカスタマーレビューはありません
星5つ
星4つ
星3つ
星2つ
星1つ
Amazon.com で最も参考になったカスタマーレビュー (beta)
Amazon.com:  27件のカスタマーレビュー
30 人中、28人の方が、「このレビューが参考になった」と投票しています。
A good overview of how to write good C++ code 2011/3/7
By M. Wilson - (Amazon.com)
形式:ペーパーバック|Amazonが確認した購入
A good book, but I don't think an experienced C++ programmer would find anything too surprising in it. It IS a very good tutorial for newer programmers, or someone coming from Java API design. The author does a nice job of explaining a lot of what has been discussed in Meyers' and Sutter's book; none of the lengthy set up and quizzing, he just explains it and shows the reader why it is important. He concisely explains things like Liskov, Open-Closed, etc., the PIMPL idiom, and creation patterns, and gives some good advice on how to version your API, and control development in a source control system. It's basically a pretty complete look at the whole process of writing an API.
26 人中、23人の方が、「このレビューが参考になった」と投票しています。
A must-have for serious C++ software developers 2011/8/4
By D. Smith - (Amazon.com)
形式:ペーパーバック|Amazonが確認した購入
First, the summary: This is an outstanding book which covers a very large range of topics very effectively. Don't be fooled by the title - even though APIs are covered very thoroughly, the book contains a great deal of wisdom beyond the API (at least by my definition of "API") - it discusses the design and implementation of well-encapsulated software components, performance, design patterns, effective use of the C++ programming language, and much more. Important topics that are often overlooked by other books, such as documentation, testing, versioning and scripting, are also covered. The book is extremely well written, and the typesetting and layout of the book is very well done. The book never loses sight of the motivation for a solid API - the winners are your clients and your business.

Usually when I think of an API, I think of the interface to a library / component. You know, function prototypes, class documentation, maybe some man pages or background documentation. All of that material is covered in great depth, but what the book is really about is *everything* that goes into designing and implementing software components / libraries properly. When writing a library, only the API is exposed to the user, and this is where a lot of the hard work is. Deciding what needs to be exposed, and how it should be exposed, is often not easy. As the author states, you can always change the underlying implementation, but you really need to think through the API before unleashing your API on the world. That's why it's so important to "get it right the first time" - changes afterwards can be tremendously costly. This book will help you get it right the first time.

In my work, I spend a lot of my time re-factoring software components & their interfaces to make them less fragile, more re-usable, more testable, and easier to use correctly. This book taught me a couple new tricks that will help me do that better. And no doubt, in the rare case where I actually get to create a library/API from scratch, I'll also do a better job going forward. (If enough people buy this book, I might have to start looking a lot harder for clients!)

You can browse the Table of Contents yourself to see the range of topics covered - it's broad. There isn't a weak chapter in the book. I don't think I found a single technical mistake or inaccuracy in the book. The code examples are small, concise, illustrative and clean. The writing is stellar. Rather than just dictate a bunch of rules, the author provides the rationale for the suggestions. The author also cites references and sources for further reading throughout the book.

Another nice aspect of the book is how the author's real-world experience on very large & complex development projects shines through when discussing certain topics. The information in the book has been obtained by lots of hard work, and seeing what works and what doesn't.

I liked the book's treatment of C++-specific features that can contribute to writing a good API. Language features such as templates, namespaces, inheritance and const correctness are discussed very effectively. Even features in the upcoming C++0x (or whatever it's called these days) standard, at least those that can help improve your API, are covered too.

The book reads very well. Anyone who's opened Stroustrup's "The C++ Programming Language" knows that poor typesetting can have a large negative impact of the book's readability. This book is just the opposite. The fonts are clean, code is well-formatted, tips are called out in highlight boxes, and diagrams are clear and uncluttered. Boldface, bullet items and numbered lists are used effectively to guide the reader's eyes throughout the reading. To me, this is very important - I've come across several books that appeared to be nothing more than Word documents printed out & bound. The content is well-organized and the topics flow well. It never feels like something was just "shoehorned" into a chapter because there was no better place to put it.

The bottom line: if you're writing C++ (or even C) code for other people to use, you need this book.
7 人中、7人の方が、「このレビューが参考になった」と投票しています。
Great Book on Writing Maintainable C++ 2011/12/21
By Glenn R. Howes - (Amazon.com)
形式:ペーパーバック|Amazon Vine™ レビュー (詳しくはこちら)
My job is maintaining and expanding a large cross-platform desktop application which was originally written in 1986 by highly intelligent but inexperienced developers, and whose code is also used for browser plugins. If only I could have sent back in time this book! My life would be easy. I wouldn't have spent years of my life getting the basics of maintainability in place, simple things like using accessor methods, but also more subtle concepts like the importance of decoupling objects and techniques to decouple. This book is nominally about putting together APIs, but along the way it encourages and demands the programmer choose the most maintainable, robust and professionally rigorous techniques in order to reach the goal of an easy to use, hard to screw up, predictable and stable external API.

I want to emphasize the importance of such software traits as modularity, implementation hiding, and decoupling in any large project, in my own case I see years of what the book calls "software debt" accumulating and coming due with a vengeance. If robust techniques are not mandated and enforced every day of the release cycle eventually the codebase will become daunting to modify or fix. Such techniques given in the book as factory methods, the observer/broadcaster pattern, and such off the shelf technologies like Boost to ease implementation of these techniques are just what you have to use in order to keep sane and keep your cash cow alive.

Not that I don't have quibbles with certain techniques. I'm no fan of the PIMPL pattern and prefer to solve the same problem of implementation hiding with virtual base class interfaces and class factory methods. But then again, I don't write libraries, I write applications and plugins, so I will defer to Mr. Reddy's judgement for when it comes to libraries.

There is a very clear chapter on various topics in using the C++ language such as best practices for using templates. Now, I avoid templates (other than using STL and boost) like the plague; I don't like the syntax, and I don't come across many interesting cases where I need to share methods amongst different data types, so yes, I'm not a generic style programmer, but I will admit that the template techniques as the author puts them forward seem clear and useful enough, including the Curiously Recurring Template Pattern which he tucks into the last pages of the last chapter.

The book has interesting chapters on such topics as adding scripting interfaces in either Python or Ruby. Once it's all lain out, it almost seems simple to create one, especially if you are using pre-existing frameworks like Boost or Swig to do the heavy lifting. There is an Appendix devoted to library packaging technologies which would have been useful to know back in the day.

So my recommendation is that if you are a C++ programmer and you want to improve yourself, to learn from a master, and be able to call yourself a professional coder, then you need to read this book. It is the best technical book I've read in years and I've recommended it to everyone on my team.

クチコミ

クチコミは、商品やカテゴリー、トピックについて他のお客様と語り合う場です。お買いものに役立つ情報交換ができます。
この商品のクチコミ一覧
内容・タイトル 返答 最新の投稿
まだクチコミはありません

複数のお客様との意見交換を通じて、お買い物にお役立てください。
新しいクチコミを作成する
タイトル:
最初の投稿:
サインインが必要です
 

クチコミを検索
すべてのクチコミを検索
   


リストマニア

リストを作成

関連商品を探す


同じキーワードの商品を探す


フィードバック


Amazon.co.jpのプライバシー ステートメント Amazon.co.jpの発送情報 Amazon.co.jpでの返品と交換