1 / 11

GOF デザインパターン入門

GOF デザインパターン入門. 対象となる方. デザインパターン?なにそれ 聞いた事はあるけど・・・ 今ひとつ使い所が判らない UML が読めなくて・・・. デザインパターンとは(なんなのか). GOF (ギャング・オブ・フォー)が編み出したソフトウェア開発を行う上での設計パターン 設計というが、実装により近い部分で適用するもの オブジェクト指向言語による開発時の問題に対するアプローチに名付けを行ったもの. パターンの種類( 1/2 ). Abstract Factory Builder Factory Method Prototype Singleton

enye
Download Presentation

GOF デザインパターン入門

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GOFデザインパターン入門

  2. 対象となる方 • デザインパターン?なにそれ • 聞いた事はあるけど・・・ • 今ひとつ使い所が判らない • UMLが読めなくて・・・

  3. デザインパターンとは(なんなのか) • GOF(ギャング・オブ・フォー)が編み出したソフトウェア開発を行う上での設計パターン • 設計というが、実装により近い部分で適用するもの • オブジェクト指向言語による開発時の問題に対するアプローチに名付けを行ったもの

  4. パターンの種類(1/2) • Abstract Factory • Builder • Factory Method • Prototype • Singleton • Adapter • Bridge • Composite • Decorator • Facade • Flyweight • Proxy • Chain of Responsibility • Command

  5. パターンの種類(2/2) • Template Method • Visitor • Interpreter • Iterator • Mediator • Memento • Observer • State • Strategy

  6. 使うとどうなるのか • 使う、というよりはパターンに当て嵌める、の方が近い • 同じような問題は誰しもが問題視してきた • 誰もが似たような結論に至った • この問題にはこのパターンで解決してみては?という提案

  7. パターン(Singleton) • そのクラスのインスタンスが1つである事を保証する • 1つでないといけない事情 • Static変数で値を持つ事との違い

  8. パターン(Flyweight) • 同じインスタンスは共有し、メモリ消費量を低減させる • データベースの、マスタを思い浮かべて…

  9. パターン(Strategy) • アルゴリズムを交換可能にする。

  10. Strategyの例(Struts) アプリケーションサーバ • Strutsに於けるActionServletは、リクエストによってActionクラスを切り替える。 ブラウザ コントローラ部 処理 振り分ける 処理 処理

  11. Strategyの例(Runnable) ①Threadオブジェクトにセット インタフェース Runnable を実装したオブジェクト Threadオブジェクト ②スレッドを開始すると、 Runnableのrunが呼ばれる。 ThreadにセットするRunnableを入れ替える事で処理が切り替わる。 run()

More Related