Skip to Main Content
ハンズオンJavaScript
book

ハンズオンJavaScript

by あんどうやすし
November 2020
Intermediate to advanced content levelIntermediate to advanced
740 pages
9h 12m
Japanese
O'Reilly Japan, Inc.
Content preview from ハンズオンJavaScript

5章モジュールを学ぶ

オブジェクト指向でアプリケーションを作成していると、当然ですがオブジェクトの種類は際限なく増えていきます。たとえばThree.jsという3Dグラフィックス用のライブラリでは200種類を超えるオブジェクトが使用されています。しかし、そのような大量のオブジェクトはすべてと平均的に関連しているわけではありません。たとえばライティングに関わるオブジェクト群や、ジオメトリに関わるオブジェクト群など、同じような目的を持つオブジェクト同士は密に関連しますが、目的の異なるオブジェクト同士の関連は少ないか、場合によってはまったくありません。

関係することの多いオブジェクト群をサブシステムとして切り出し、アプリケーション全体をサブシステムの組み合わせで表現できれば複雑なアプリケーションでも見通しがよくなります。図5-1から分かるように、システムをオブジェクトの関連として全体を捉える(左)と非常に複雑ですが、サブシステムに分割してそれらの関連として捉える(右)ことができれば随分と分かりやすくなります。

サブシステムの切り出し

図5-1 サブシステムの切り出し

また、このような構造にすることでサブシステム単位で開発者もしくは開発チームを分けることも容易になります。つまりサブシステム間の連携に使用されるオブジェクトの仕様についてだけ全体的な同意が得られていれば、それ以外のオブジェクトについては開発者または開発チームが自由に設計できるようになるのです。

ただし、そのためにはサブシステムに分解するだけでなく、もうひとつ、サブシステム内でだけ使われるオブジェクトの情報を外部から隠蔽する手段も必要です。そういった手段がないままサブシステムごとにチームを分解すると、複数のサブシステムで同名のオブジェクトが定義され、結合時に動作しなくなるという問題が発生する可能性があります。 ...

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.
Start your free trial

You might also like

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

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

Micha Gorelick, Ian Ozsvald, 中山 光樹
パフォーマンス向上のためのデザイン設計

パフォーマンス向上のためのデザイン設計

Lara Callender Hogan, 西脇 靖紘, 星野 靖子
PythonによるWebスクレイピング 第2版

PythonによるWebスクレイピング 第2版

Ryan Mitchell, 黒川 利明, 嶋田 健志

Publisher Resources

ISBN: 9784873119229Other