RINDOKU No.1

JavaScript デザインパターン


Title




# 2章

JavaScript デザインパターン

パターン一覧

  • - コンストラクタパターン
  • - モジュールパターン
  • - リビーリングモジュールパターン
  • - シングルトンパターン
  • - オブザーバパターン
  • - メディエータパターン
  • - プロトタイプパターン
  • - コマンドパターン
  • - ファサードパターン
  • - ファクトリパターン
  • - ミックスインパターン
  • - デコレータパターン
  • - フライウェイトパターン





## 2.1 コンストラクタパターン

### コンストラクタとは



新規作成されたオブジェクトにメモリが
割り当てられたときにそのオブジェクトを
初期化する特別なメソッド.

JavaScript ではほとんどすべてがオブジェクトなので,
コンストラクタはとても重要.





## 2.2 モジュールパターン

### モジュールパターンとは



コードをキレイに分割して組織化すること.

大規模かつ堅牢なアプリケーションの
基本設計に必須の考え方.

ライブラリ化などもこれにあたる.

### モジュールの実装パターン




  • - オブジェクトリテラル表記
  • - モジュールパターン
  • - AMD モジュール
  • - CommonJS モジュール
  • - ECMAScript Harmony モジュール

### モジュールパターンのメリット



オブジェクト指向開発経験のある人に
とって取っ付きやすい.

プライベートアクセス属性をサポートできるので,
外の世界からプライベートな部分に
さわれなくすることが出来ます(カプセル化)

### モジュールパターンのデメリット




メンバがパブリックかプライベートかに
応じてアクセス方法が変わってしまう.
(public: hoge.age, private:hoge.getAge())

また, プライベートなメンバは
ホットフィックスしづらい.




## 2.3 リビーリングモジュールパターン

### リビーリングモジュールパターンとは





すべての関数と変数をプライベートスコープで定義して,
それらのポインタをもつ無名オブジェクトを返す

### リビーリングモジュールパターンの
メリット




スクリプトの構文が一貫する.

どの関数や変数があるのかがモジュールの終わりの
部分で指定しやすくかつ可読性が向上する.

### リビーリングモジュールパターンの
デメリット




プライベート関数がパブリックな関数を参照している場合,
そのパブリック関数をオーバーライドできないという欠点がある.




ありがとうございました.

Made with Slides.com