GOFデザインパターン入門 対象となる方 • • • • デザインパターン?なにそれ 聞いた事はあるけど・・・ 今ひとつ使い所が判らない UMLが読めなくて・・・ デザインパターンとは(なんなのか) • GOF(ギャング・オブ・フォー)が編み出したソ フトウェア開発を行う上での設計パターン • 設計というが、実装により近い部分で適用す るもの • オブジェクト指向言語による開発時の問題に 対するアプローチに名付けを行ったもの パターンの種類(1/2) • • • • • • • Abstract Factory Builder Factory Method Prototype Singleton Adapter Bridge • • • • • • • Composite Decorator Facade Flyweight Proxy Chain of Responsibility Command パターンの種類(2/2) • • • • • • • Interpreter Iterator Mediator Memento Observer State Strategy • Template Method • Visitor 使うとどうなるのか • 使う、というよりはパターンに当て嵌める、の 方が近い • 同じような問題は誰しもが問題視してきた • 誰もが似たような結論に至った • この問題にはこのパターンで解決してみて は?という提案 パターン(Singleton) • そのクラスのインスタンスが1つである事を保 証する • 1つでないといけない事情 • Static変数で値を持つ事との違い パターン(Flyweight) • 同じインスタンスは共有し、メモリ消費量を低 減させる • データベースの、マスタを思い浮かべて… パターン(Strategy) • アルゴリズムを交換可能にする。 Strategyの例(Struts) アプリケーションサーバ ブラウザ コントローラ部 処理 振り分ける • Strutsに於ける ActionServletは、リクエ ストによってActionクラ スを切り替える。 処理 処理 Strategyの例(Runnable) ①Threadオブジェクトにセット Threadオブジェクト ②スレッドを開始すると、 インタフェース Runnable を実装したオブジェクト run() Runnableのrunが呼ばれる。 ThreadにセットするRunnableを入れ替える事で処理が切り替わる。
© Copyright 2024 ExpyDoc