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


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

Pro JavaScript Design Patterns (Recipes: a Problem-Solution Ap) [ペーパーバック]

Ross Harmes , Dustin Diaz
5つ星のうち 4.0  レビューをすべて見る (1 カスタマーレビュー)
価格: ¥ 3,760 通常配送無料 詳細
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 が販売、発送します。 ギフトラッピングを利用できます。
2012/6/1 金曜日 にお届けします! 「お急ぎ便」オプション(有料)を選択して注文を確定された関東エリアへの配達のご注文が対象です。詳しくはこちら
1冊からでも印刷、お届け
オンデマンド印刷技術で注文に応じて印刷、お届けする「プリント・オン・デマンド(POD)」サービス。

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

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


よく一緒に購入されている商品

この本とPro Javascript Techniques ¥ 3,733 をあわせて買う

Pro JavaScript Design Patterns (Recipes: a Problem-Solution Ap) + Pro Javascript Techniques
合計価格: ¥ 7,493

在庫状況の表示

  • 対象商品: Pro JavaScript Design Patterns (Recipes: a Problem-Solution Ap)

    在庫あり。 在庫状況について
    この商品は、Amazon.co.jp が販売、発送します。
    通常配送無料(一部の商品・注文方法等を除く) 詳細

  • Pro Javascript Techniques

    在庫あり。 在庫状況について
    この商品は、Amazon.co.jp が販売、発送します。
    通常配送無料(一部の商品・注文方法等を除く) 詳細


この商品を買った人はこんな商品も買っています


商品の説明

内容説明

As a web developer, you’ll already know that JavaScript is a powerful language, allowing you to add an impressive array of dynamic functionality to otherwise static web sites. But there is more power waiting to be unlocked—JavaScript is capable of full object–oriented capabilities, and by applying object-oriented principles, best practices, and design patterns to your code, you can make it more powerful, more efficient, and easier to work with alone or as part of a team.

With Pro JavaScript Design Patterns, you’ll start with the basics of object–oriented programming in JavaScript applicable to design patterns, including making JavaScript more expressive, inheritance, encapsulation, information hiding, and more. With that covered, you can kick–start your JavaScript development in the second part of the book, where you’ll find detail on how to implement and take advantage of several design patterns in JavaScript, including composites, decorators, faades, adapters, and many more.

Each chapter is packed with real–world examples of how the design patterns are best used and expert advice on writing better code, as well as what to watch out for. Along the way you’ll discover how to create your own libraries and APIs for even more efficient coding.

  • Master the basics of object–oriented programming in JavaScript, as they apply to design patterns
  • Apply design patterns to your kick–start your JavaScript development
  • Work through several real–world examples

What you’ll learn

  • How to apply object–oriented programming techniques in JavaScript
  • How to take advantage of inheritance, interfaces, and encapsulation and information hiding to kick–start your JavaScript development
  • How to implement several design patterns in your JavaScript projects, including factory, faade, bridge, composite, adapter, decorator, flyweight, proxy, command, observer, and chain of responsibility
  • How to make your code easier to manage in a team environment, as well as on your own
  • How to create your own libraries and APIs

Who this book is for

This book will be an invaluable learning tool for any experienced JavaScript developer.

Table of Contents

  1. Expressive JavaScript
  2. Interfaces
  3. Encapsulation and Information Hiding
  4. Inheritance
  5. The Singleton Pattern
  6. Chaining
  7. The Factory Pattern
  8. The Bridge Pattern
  9. The Composite Pattern
  10. The Facade Pattern
  11. The Adapter Pattern
  12. The Decorator Pattern
  13. The Flyweight Pattern
  14. The Proxy Pattern
  15. The Observer Pattern
  16. The Command Pattern
  17. The Chain of Responsibility Pattern

著者について

Dustin Diaz is a user interface engineer for Google in Mountain View, California. He enjoys writing JavaScript, CSS, and HTML, as well as making interactive and usable interfaces to inspire passionate users.

Ross Harmes works as a front-end engineer in Sunnyvale, California, where he creates modular and reusable JavaScript components for Yahoo! Small Business.

登録情報

  • ペーパーバック: 296ページ
  • 出版社: Apress; New.版 (2007/12/17)
  • 言語 英語, 英語, 英語
  • ISBN-10: 159059908X
  • ISBN-13: 978-1590599082
  • 発売日: 2007/12/17
  • 商品の寸法: 23.5 x 18 x 1.9 cm
  • おすすめ度: 5つ星のうち 4.0  レビューをすべて見る (1 カスタマーレビュー)
  • Amazon ベストセラー商品ランキング: 洋書 - 12,841位 (洋書のベストセラーを見る)
  •  カタログ情報、または画像について報告

  • 目次を見る

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

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


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

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

 

カスタマーレビュー

星5つ
0
星3つ
0
星2つ
0
星1つ
0
最も参考になったカスタマーレビュー
1 人中、1人の方が、「このレビューが参考になった」と投票しています。
面白い 2009/7/10
形式:ペーパーバック
JavaScriptは、ホームページ作成だけでなく、業務システムでも利用されています。
業務の画面表示仕様に則って、コーディングしていくうちに、とてつもなく巨大なスクリプトファイルが出来ており、保守担当者が悲鳴を上げているのをよく目にしました。

そこで、JavaScriptの可読性を上げるにはどうすれば良いか?と考えた時に、この本に出会いました。

この本は、JavaScriptを見事にオブジェクト指向にしており、Gofデザインパターンへの適応を行っています。
この本のサンプルは、本に記載のHPからすべてダウンロードすることができます。

CHAPTER2のInterfaceの章は、オブジェクト指向言語のInterfaceをJavaScriptで実現しようと試行錯誤が伺えました。
実装クラスがInterfaceのメソッドを定義しているか、というのは、他の”言語”はコンパイラによって判断されますが、Javascriptは自分でチェックロジックを作るしかありません。
このCHAPTERを読んでいて、果たしてJavaScriptでInterfaceを作るメリットが・・・というキーワードが浮かんできてしまいました。
#チェックロジックを書く労力の割に、効果がないですね

このペースで全CHAPTERの感想を書くと長くなるので・・・

[CHAPTER6 Chaining][CHAPTER9 THE COMPOSITE PATTERN]は非常に参考になりました。

その他のCHAPTERは、Ajaxのコンポーネントを作成する様な方が見ると非常に参考になると思います。
#実際には、オープンソースのコードを読んで理解した方が良いと思いますが・・・

本書を読んで、冒頭に登場した「保守担当者の悲鳴」は、解決できそうにありませんでした(笑)

この技術を取り入れるには、オブジェクト指向且つ、JavaScriptのエキスパートがいないと難しそうなので、業務システムの実用は、プロジェクトに参画する要員のスキルに依存しそうです。

私と同じ問題を抱えていて、期待を胸に本書にたどり着いた人にはおすすめできません(笑)

オープンソースのAjaxコンポーネントをカスタマイズしたい、Ajaxコンポーネントを作りたい人におすすめと思いました。
このレビューは参考になりましたか?
Amazon.com で最も参考になったカスタマーレビュー (beta)
Amazon.com:  23件のカスタマーレビュー
34 人中、32人の方が、「このレビューが参考になった」と投票しています。
An excellent title for experienced JavaScript developers 2008/1/20
By James Stewart - (Amazon.com)
形式:ペーパーバック
Design patterns, and particularly their application in dynamic languages can be a controversial topic, and every now and again another round of blog posts bubbles up appalled at the way a new group of programmers have become infatuated with design patterns. Applied without care design patterns can quickly lead to over-engineered code that seems designed as much to draw on as many of the established patterns as possible as to solve the intended problem. But if applied with care, and with consideration of how a pattern applies in the context of your chosen language they can be a helpful way to draw on the wisdom of the coders that came before you, and make your code easier to understand to those who may inherit it.

Written by Dustin Diaz (of Google) and Ross Harmes (of Yahoo), Pro Javascript Design Patterns builds on experience of building complex, high profile javascript applications. That experience shows as each pattern is introduced with solid examples and sample code and then refined to provide looser-coupling, more flexibility and/or better performance.

Early on in the book I was concerned that some of the solutions could become too heavy and the early introduction of interfaces hinted at something akin to the early approaches to pattern usage in PHP, which often looked more like an attempt to turn PHP into Java than a way to use PHP's own features better. As the book goes on the usefulness of those interfaces, particularly for large development teams, becomes clear and most of those concerns are allayed, especially as the authors offer pros and cons for the use of each pattern and are clearly focussed on how these patterns can help produce more robust solutions.

Most of the patterns will have a fairly immediate impact for developers new to them, and even for those who have used them in other contexts it is helpful to see how they have been applied in JavaScript. Most modern JavaScript libraries rely on several of these patterns to abstract out handling of different browser quirks or adding new event types, and even if you rely heavily on one or more of the major libraries this guide may well help you understand their internals better.

I've sometimes been skeptical of books claiming to be targeted at an advanced target. Labels like "pro" are often handed out far too easily. But in this case it seems deserved. While the book does a good job of quickly introducing approaches to object-oriented programming in JavaScript, that's based on an assumption of a solid knowledge of the language and of OO development in at least one language. If you're a newcomer to JavaScript or just looking for a way to add a few fancy features to your web pages this isn't be book for you. But if you have some serious JavaScript development experience and are needing a way to tighten up your code to make it more modular and more maintainable, this book is well worth your time.

Disclaimer: I was sent a copy of this book for review by the publisher.
15 人中、14人の方が、「このレビューが参考になった」と投票しています。
Toughie not fluffy 2008/3/26
By emh425 - (Amazon.com)
形式:ペーパーバック
This book is a "JavaScript for Programmers" book. It's very detailed and advanced. I wouldn't classify it as a "JavaScript for Web Weenies" or a "JavaScript for Stupid UI Tricks" book at all. If you don't know OOP concepts in another language already, this book really might be too much for you and could frustrate you. This book is good if you are a server-side programmer and you want to know how to push JavaScript about as far as it can go (at this point). If you are a web programmer/designer with a light understanding of OOP concepts and you want to "go deep", this book could be ok, but I would try to learn OOP from another language first because this book would read better with that background knowledge. Also, I am recommending that you already know OOP from another language because you can really shoot yourself in the foot with JavaScript because it's *so* flexible and the authors prove this well! I think it's probably a good idea to know when you're going off in the weeds and JavaScript really doesn't provide many boundaries where other languages have stricter controls on what you can do.

This book shows that when used by an experienced person, JavaScript is no joke. Seriously.
10 人中、10人の方が、「このレビューが参考になった」と投票しています。
Great Design Pattern Book 2009/5/28
By Brian Mains - (Amazon.com)
形式:ペーパーバック
When you read the book, "Pro JavaScript Design Patterns" from Ross Harmes and Dustin Diaz, it's clear that Ross and Dustin have a strong understanding of JavaScript, its strengths, and its limitations. JavaScript has a lot of stengths, in that it supports dynamic typing at runtime, public and private typing of members, flexible coding style , and existing support of class/object development. Its weaknesses, such as support for other constructs, like explicit namespaces or interface support, the writers attempt to make up for by showing potential workarounds to the issue.

The first three chapters setup some of the more complex topics: flexibility and mutability of objects, dynamic typing, structuring of classes and how to assign methods to an object's prototype. Another important subject is the differentiation between public and private members, and how these members are scoped and accessed in the class's instance.

Speaking of classes, there are a couple of different ways to setup class definitions and inheritance. The first option is prototypical inheritance, where the derived class inherits the members of the base class. Other options are mixin classes, using a helper method to copy over class definitions from one object to another. This book, with great detail, discusses the differences between the two options.
The book continues to discuss the following design patterns, and implements in full JavaScript. The concepts in the first four chapters, discussed above, are reused in the design pattern process. Each chapter highlighted below has an explanation, example (or several), guide on when to implement, pros, cons, and summary.

* Singleton Pattern - While not following the exact traditional pattern that you would see in other server-based environments, like the .NET framework, the Singleton pattern implemented in JavaScript provides a central accessible object to the application. The book also covers the subject of lazy instantiation and brancing of internal members (one example cited was to vary method implementation by browser).
* Chaining - More commonly seen in the JQuery library, chaining is the creation of a central object that gets returned from every method call. Within the prototype of every (or at least most) method is a call to return that same object. This way, the object can call one method after the other, after the other, in a more convenient fashion.
* Factory Pattern - The factory pattern provides a way to create the correct object using some sort of identifier (string, enum, object, etc.). The factory pattern instantiates an object that inherits from the same base class type, and thus the factory is responsible for its instantiation.
* Bridge Pattern - This pattern bridges multiple classes together that implement a similar functionality. It's a way to break out logical components into different objects, and follow more closely the Singular Responsibility pattern.
* Composite Pattern - This pattern requires that a particular set of objects all implement the same interface,regardless of whether a specific function is used within that object or not. The pattern is made up of leaf elements (elements at the bottom of the structure), and composite elements (which have one or more composite/leaf elements). The example used to illustrate this pattern is displaying of individual elements (textboxes and such), versus displaying composite elements.
* Faade Pattern - The faade pattern simplifies common tasks by grouping them into a parent function. For example, there are various nuances in JavaScript that vary by browser. The faade pattern facilitates working around these nuances by creating a central object with a method that checks browser type, and calls the correct method. From then on, the developer has to call this one method, instead of handling the various JavaScript nuances.
* Adapter Pattern - The adapter pattern provides a common interface across disparate interfaces that provide differing implementations. For instance, suppose you had to integrate various web service implementations. Each implementation would have a different implementation; the adapter pattern can accommodate this by providing one common interface, which this object then interacts with the web service.
* Decorator Pattern - The decorator pattern can be used to modify the behavior of its target. Decorators can be strung together to continually alter its behavior in some way, providing that each decorator alters the object appropriately. The chapter also explains what to watch out for when implementing this pattern, such as the order the patterns are created and processed.
* Flyweight Pattern - This pattern provides a caching to reuse commonly used elements, to make the underlying processes run faster. The system would first check the cache to see if the object exists before instantiating it.
* Proxy Pattern - A proxy provides access control to its underlying object's methods calls. It implements the same methods as its target, and can be a way to optimize usage of resources (especially expensive ones). This isn't necessarily related to just security in this regard. There are three types of proxies: virtual proxy, remote proxy, and protection proxy.
* Observer Pattern - The observer pattern uses subscribers and publishers. The publisher publishes to its subscriber that some event happened, and the subscriber can react to it in some way. One approach is through the use of a delegate that the publisher can call.
* Command Pattern - A command is some action that occurs within the application. A command provides a specific interface that varying command objects implement. The command can then be executed and perform its underlying action: this may be copy, paste, undo, or other operations.
* Chain of Responsibility Pattern - The chain of responsibility pattern is similar to some of the above patterns: it uses a chaining approach, which consists of firstly the sender, followed by a series of receivers that will process or ignore the request. It's a complex design pattern that the book describes very well.

Most of the chapters are explained very well; some of the examples didn't make the most sense to me as I didn't fully grasp some of the patterns. It's clear the authors know a lot more about design patterns than I do. However, don't let that detract you from the book because reading it again and trying it out yourself will help you to grasp the fundamentals. Alternatively, most of the examples are clear, concise, and to the topic at hand.

The book is a small book, consisting of many chapters (nicely broken out so I was able to do one a day). It has a lot of power to the punch for its size, which makes it a great book, and a great overview of design patterns in the JavaScript world, a world much different than most server-based languages.
カスタマーレビューの検索
この商品のカスタマーレビューだけを検索する

クチコミ

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

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

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


リストマニア

リストを作成

関連商品を探す


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


フィードバック


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