Skip to Content
Node.jsデザインパターン 第2版
book

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

by Mario Casciaro, Luciano Mammino, 武舎 広幸, 阿部 和也
May 2019
Intermediate to advanced
464 pages
9h 22m
Japanese
O'Reilly Japan, Inc.
Content preview from Node.jsデザインパターン 第2版
2.2
 モジュールシステムとパターン
33
このコードの実行結果は循環参照の問題点を如実に表しています。
main
モジュールから
require
された時点では、モジュール
a
も
b
も完全に初期化されているのですが、モジュール
b
からロードされ
た時点では、モジュール
a
はまだ初期化が完了していません。そのためモジュール
b
内でモジュール
a
の状態を保持している箇所(
aWasLoaded
)は不完全な状態となっています。
main
モジュールを変更し
て、モジュール
a
と
b
の
require
の順番を変えるとどうなるでしょう。
実際に試してみればわかりますが、今度はモジュール
a
内でモジュール
b
の状態を保持している箇所
(
bWasLoaded
)が不完全な状態となります。このように、循環参照で互いのモジュールの状態に依存
している場合、どのモジュールを先にロードするかによって、実行結果が変わる場合があります。プロ
ジェクトの規模が大きくなる
と、このような問題は容易に発生します。
2.2.3
 モジュール定義におけるパターン
Node
のモジュールシステムは、本来の目的である依存モジュールのロードに加えて、
API
を定義す
るツールとしての役目ももっています。
API
を設計するうえで、モジュールのどの部分を公開するかは
常に頭を悩ませる問題です。カプセル化という観点では、不要な情報を隠蔽することで
API
は使いや
すくなりますが、一方で拡張性や再利用性も考慮しなければなりません。
この節では
Node
のモジュールを定義するうえでよく使われるパターン
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

scikit-learn、Keras、TensorFlowによる実践機械学習 第2版

scikit-learn、Keras、TensorFlowによる実践機械学習 第2版

Aurélien Géron, 下田 倫大, 長尾 高弘
ハイパフォーマンスPython 第2版

ハイパフォーマンスPython 第2版

Micha Gorelick, Ian Ozsvald, 中山 光樹
Rクックブック 第2版

Rクックブック 第2版

J.D. Long, Paul Teetor, 大橋 真也, 木下 哲也
進化的アーキテクチャ ―絶え間ない変化を支える

進化的アーキテクチャ ―絶え間ない変化を支える

Neal Ford, Rebecca Parsons, Patrick Kua, 島田 浩二

Publisher Resources

ISBN: 9784873118734Other