まともに今までデザインパターンを勉強したことがなく、なんとなくソース読んで、似たような仕様で書くっていうのを今まで繰り返してました。
インターンの時にシングルトンを全く意味不明なまま使っていて、結局その時理解せずにインターンを終えてしまった苦い思い出が思い出されます。
今回はこの本に沿って、ActionScriptでデザインパターンを勉強していきたいと思います。(本当はC++とかでやりたい)
ActionScriptでデザインパターンを解説している唯一の本で、丁寧に解説してくれていて理解しやすいと思います。
シングルトンパターン
「クラスのインスタンスを一つしか作らない」ようにするパターンです。静的なデータとかこういった形で持つ事が多いですかね。
SingletonEnforcerクラス
シングルトンのクラスのみが使用できるSingletonEnforcerクラスをコンストラクタの引数にして、強制的にコンストラクタを外部で呼び出せなくする手法。
package { /** * シングルトンパターンクラス * */ public class SingletonClass { // privateでstaticな変数 private static var _instance:SingletonClass; /** * constructor * */ public function SingletonClass(enforcer:SingletonEnforcer) { } /** * インスタンス取得メソッド * @return SingletonClass * */ public static function getInstance():SingletonClass { if (SingletonClass._instance == null) { SingletonClass._instance = new SingletonClass(new SingletonEnforcer()); } return SingletonClass._instance; } public function sayHello():void { trace('Hello World'); } } } /** * コンストラクタを強制的に呼び出せなくするため * 外部からアクセス不可能な空クラスを定義 * */ class SingletonEnforcer {}
0 件のコメント:
コメントを投稿