Skip to Content
JavaScriptデザインパターンを学ぶ 第2版
book

JavaScriptデザインパターンを学ぶ 第2版

by Addy Osmani
March 2025
Intermediate to advanced
298 pages
4h 18m
Japanese
O'Reilly Media, Inc.
Content preview from JavaScriptデザインパターンを学ぶ 第2版

第6章 デザインパターン デザインパターンのカテゴリー

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

この章では、デザイン・パターンの3つの主なカテゴリーと、それらに該当するさまざまなパターンについて説明する。どのデザイン・パターンも特定のオブジェクト指向設計の問題や課題に取り組んでいるが、これらの問題をどのように解決するかに基づいて、解決策の間に類似点を見出すことができる。これが、デザイン・パターンを分類するための基礎となる。

背景

Gamma, Helm, Johnson, and Vlissides (1995)は、その著書「デザインパターン」の中で、デザインパターンを次のように説明している:Elements of Reusable Object-Oriented Software)の中で、デザインパターンを次のように説明している:

デザイン・パターンは、再利用可能なオブジェクト指向設計の作成に役立つ、共通の設計構造の重要な側面を名前付けし、抽象化し、特定するものである。デザイン・パターンは、参加するクラスとそのインスタンス、それらの役割とコラボレーション、責任の分配を特定する。

各デザインパターンは、特定のオブジェクト指向設計の問題や課題に焦点を当てている。どのような場合に適用されるのか、他の設計上の制約から見て適用可能かどうか、そしてその使用の結果とトレードオフについて説明する。最終的には設計を実装しなければならないので、デザインパターンは実装を示すサンプルコードも提供する。

デザインパターンはオブジェクト指向の設計を記述しているが、主流のオブジェクト指向プログラミング言語で実装されている実用的な解決策に基づいている。

デザインパターンは、それらが解決する問題のタイプに基づいて分類することができる。デザインパターンの3つの主要なカテゴリーは以下の通りである:

  • 創造的デザインパターン

  • 構造的デザインパターン

  • 振る舞いデザインパターン

以下のセクションでは、それぞれのカテゴリーに分類されるパターンをいくつか例に挙げながら、この3つをおさらいする。

創造的デザインパターン

作成デザインパターン オブジェクトが与えられた状況に適した方法で作成されるような、オブジェクト作成メカニズムを扱うことに焦点を当てる。オブジェクトの作成に対する基本的なアプローチは、そうでなければプロジェクトの複雑さを増すことになるかもしれないが、これらのパターンは、作成プロセスを制御することによってこの問題を解決することを目指している。

このカテゴリーに分類されるパターンには、コンストラクタ、ファクトリー、抽象化、プロトタイプ、シングルトン、ビルダーなどがある。

構造的デザインパターン

構造パターンは、 オブジェクトの構成に関係し、通常、異なるオブジェクト間の関係を実現する単純な方法を特定する。これは、システムの一部分が変更されても、システム全体の構造を変更する必要がないことを保証するのに役立つ。また、特定の目的に適合しないシステムの部分を、適合するシステムに再構成するのにも役立つ。

このカテゴリーに入るパターンには、Decorator、Facade、Flyweight、Adapter、Proxyなどがある。

振る舞いデザインパターン

振る舞いパターンは、 、システムの異種オブジェクト間の通信を効率化することに重点を置いている。オブジェクト間で共通するコミュニケーションパターンを特定し、異なるオブジェクト間でコミュニケーションの責任を分散させることで、コミュニケーションの柔軟性を高めるソリューションを提供する。基本的に、振る舞いパターンは、アクションを起こすオブジェクトからアクションを抽象化する。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

アルゴリズムクイックリファレンス 第2版

アルゴリズムクイックリファレンス 第2版

George T. Heineman, Gary Pollice, Stanley Selkow, 黒川 利明, 黒川 洋
Node.jsデザインパターン 第2版

Node.jsデザインパターン 第2版

Mario Casciaro, Luciano Mammino, 武舎 広幸, 阿部 和也

Publisher Resources

ISBN: 9798341625952