181
8
章
モジュール形式の開発
アプリケーションのモジュール性とは、各機能が疎結合度の高い形で分離され、モジュールとし
て記述されていることを意味します。疎結合によって、コンポーネント間の依存関係が可能な限り
取り除かれ、アプリケーションの保守が容易になります。各モジュールを適切に実装すれば、シス
テムの一部に対する変更が他の部分に与える影響を把握するのも容易です。
しかし従来のプログラミング言語と異なり、現在の
JavaScript
(
ECMA-262
)にはクリーンかつ
構造化された形でモジュールをインポートするための仕組みが用意されていません。
そのため、モジュールやオブジェクトリテラルを使ったパターンと
<script>
タグやスクリプト
ローダーを使った代替手段がよく使われています。これらの多くでは、モジュールのスクリプト
が
DOM
の中で単一のグローバルオブジェクトによる名前空間と関連付けられています。このよう
な場合にも依然として、名前が衝突してしまう可能性は残ります。開発者自身の努力やサードパー
ティによるツールに頼らないと、依存関係の管理をクリーンな形で行うことは不可能です。
ES6
(
JavaScript
の公式仕様の次期バージョン。
http://wiki.ecmascript.org/doku.php?id
=harmony:specification_drafts
)ではこの問題への解決策がネイティブに提供される予定です
(
http://wiki.ecmascript.org/doku.php?id=harmony:modules ...