[フレーム]
BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

InfoQのすべての体験をアンロックして、そのメリットを最大限に活用しましょう

ログインして、InfoQのすべての体験をアンロックしましょう!お気に入りの著者やトピックの最新情報を入手し、コンテンツと交流し、限定リソースをダウンロードできます。

ログイン
または

アカウントをお持ちでない方

登録
  • あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。
  • 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。
  • 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

Topics

地域を選ぶ

AIオールスターズ2025

"AI活用"をキーワードに「AIを使い倒し/使いこなす」企業の最前線をお届けします。

QCon San Francisco - image
QCon San Francisco 2025

Get production-proven patterns from the leaders who scaled a GenAI search platform to millions, migrated a core ML system without downtime, and architected a global streaming service from the ground up.

Early Bird ends Nov 11.

QCon AI New York - image
QCon AI New York 2025

Move beyond AI demos to real engineering impact. Discover how teams embed LLMs, govern models, and scale inference pipelines to accelerate development securely.

Early Bird ends Nov 11.

QCon London - image
QCon London 2026

Benchmark your systems against leading engineering teams. See what really works in FinOps, modern Java, and distributed data architectures to balance cost, scale, and reliability.

Early Bird ends Nov 11.

InfoQ ホームページ ニュース JavaScriptのためのSOLID設計原則

JavaScriptのためのSOLID設計原則

2014年1月31日 読了時間 2 分

作者:

翻訳者

原文(投稿日:2014年01月22日)へのリンク

多くの開発者がオブジェクト指向言語で仕事をしてきた。そして今、多くの開発者がJavaScriptで仕事をしているが、ほとんどの人はオブジェクト指向の原則をJavaScriptで使っていない。JavaScriptを中心に本も書いている開発者のDerick Bailey氏がCodeMashでのプレゼンテーションでこのように語った。オブジェクト指向プログラミングの場合、私たちは基礎や原則を仕事の基本として話すが、クラスベースの静的言語から型付けのゆるいクラスベースでない言語に移ると、同じ原則を適用するのは難しいと思ってしまいがちだ。
優れた安定したJavaScriptコードを書くのに役立つ、素晴らしい原則、プラクティス、パターンがたくさんあると、Derick氏は言う。その1つの例が、2000年代前半にRobert C. Martin氏によって言及されたSOLID原則だ。
Derick氏はSOLID原則を、「組み合わせることでうまく機能する5つのパターン」だと説明した。そして、JavaやC#のような言語で使うのと比べて、適用を多少困難にするJavaScriptの特異性について調べながら、サンプルコードを使ってこれらの原則を説明した。
Derick氏は5つの原則を次のように定義する。

  • 単一責務の原則。すべてのものは変更の理由が1つであるべきだ。この原則は、開発者が何を構築し、いつ変更を必要とするのか、そのコンテキストと責務を理解するのに役立つ。
  • オープン・クローズドの原則。既存のコードを変更せずに、振る舞いを変更できるべきだ。拡張ポイントを使ったり、プラグイン可能なコードを作るなど。
  • リスコフの置換原則。派生したオブジェクトや型はそのベースとなるオブジェクトや型と置換可能でなくてはならない。Derick氏によると、これはオープン・クローズドの原則のよりフォーカスしたバージョンだ。
  • インターフェイス分離の原則。クライアントは使っていないインターフェイスに依存することを強いられるべきではない。問題はJavaScriptに明示的なインターフェイスがないことだが、これをうまく回避する方法がある。
  • 依存関係逆転の原則。これは2つの概念から構成されている。1つは抽象化であり、具体的な実装ではなく抽象化したものに依存すべきだということだ。もう1つはオーナーシップで、低レベルの実装は高レベルの概念に依存すべきだということだ。

Derick氏は最後にこう言った。もしあなたのシステムに巨大な一枚岩のコードがあれば、それを部品に分割するのにSOLIDが役に立ちます。複雑さを軽減するわけではありませんが、抽象化をもたらし、詳細を論理的に考えることのできる大きな概念にまとめるのに役立つでしょう。

この記事に星をつける

おすすめ度
スタイル
  • 関連記事

    • 関連スポンサーコンテンツ

特集コンテンツ一覧

InfoQ ニュースレター

毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。 サンプルを見る

We protect your privacy.

BT

AltStyle によって変換されたページ (->オリジナル) /