Copyright © BizReach, Inc. All Right Reserved. 1
覚えて帰ろう
java デザインパターン
2015 年 03 月 27 日
株式会社ビズリーチ
プロダクトマーケティング本部
廣田 和也
Copyright © BizReach, Inc. All Right Reserved. 2
自己紹介
名前 廣田 和也
所属 株式会社ビズリーチ
java   3 年くらい
Copyright © BizReach, Inc. All Right Reserved. 3
アジェンダ
 デザインパターンとは
 Template Method パターン
 Strategy パターン
Copyright © BizReach, Inc. All Right Reserved. 4
デザインパターンとは
Copyright © BizReach, Inc. All Right Reserved. 5
デザインパターンとは
ソフトウェア開発におけるデザインパターンとは
過去のソフトウェア設計者が発見し編み出した
設計ノウハウを蓄積し、名前をつけ、
再利用しやすいように特定の規約に従って
カタログ化したものである。
引用元: wikipedia   デザインパターン ( ソフトウェア )
Copyright © BizReach, Inc. All Right Reserved. 6
GoF (Gang of Four) のデザインパターン
GoF とはエーリヒ・ガンマ、リチャード・ヘルム
ラルフ・ジョンソン、ジョン・ブリシディースの
4 人のことで、書籍『オブジェクト指向における
再利用のためのデザインパターン』において
デザインパターンという用語を初めてソフトウ
ェア開発に導入し、同時に書籍の中で 23 種類の
パターンを取り上げた。
デザインパターンとは
Copyright © BizReach, Inc. All Right Reserved. 7
GoF のデザインパターン  23 種
Abstract Factory
Builder
Factory Method
Prototype
Singleton
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
デザインパターンとは
Chain of Responsibility
Command
Interpreter
Iterator
Mediator
Memento
Observer
State
Strategy
Template Method
Visitor
Copyright © BizReach, Inc. All Right Reserved. 8
 少ない労力で良い設計ができる
• 車輪の再発明はしない
 メンバーに少ない単語で正確に設計を伝えられる
• パターン名を伝えるだけで、その構造と振る舞いを瞬時に共有できる
覚えてうれしいこと
デザインパターンとは
Copyright © BizReach, Inc. All Right Reserved. 9
Template Method パターン
Copyright © BizReach, Inc. All Right Reserved. 10
Template Method パターン
突然ですが・・・
テンプレートって知ってますか?
Copyright © BizReach, Inc. All Right Reserved. 11
Template Method パターン
コレです。 ↓↓↓↓
Copyright © BizReach, Inc. All Right Reserved. 12
Template Method パターン
スーパークラスで処理の枠組みを定め、
サブクラスでその具体的内容を実装する。
どんなパターン?
Copyright © BizReach, Inc. All Right Reserved. 13
Template Method パターン
sample program
動物との遭遇
クラス図
登場人物
・ AbstractClass( 抽象クラス )
→AbstractAnimalEncounter
・ ConcreteClass( 具象クラス )
→DogEncounter,PigEncounter,CatEncounter
Copyright © BizReach, Inc. All Right Reserved. 14
sample code...
Template Method パターン
Copyright © BizReach, Inc. All Right Reserved. 15
Template Method パターン
 流れが同一で詳細が異なる処理をまとめられる
 呼び出し元でサブクラスを意識しなくてすむ
うれしいこと
Copyright © BizReach, Inc. All Right Reserved. 16
Strategy パターン2
Copyright © BizReach, Inc. All Right Reserved. 17
Strategy パターン
 戦略( Strategy )=プログラミングにおける「アルゴリズム」
 Strategy パターンでは、そのアルゴリズムを実装した部分がごっそ
り交換できるようになっている
17
どんなパターン?
Copyright © BizReach, Inc. All Right Reserved. 18
sample program
猫とのふれあい戦略
クラス図
Strategy パターン
登場人物
・ StrategyInterface( 戦略の役 )
→SkinshipStrategy
・ ConcreteStrategy( 具体的戦略 )
→StrokeStrategy,FeedStrategy,
SlapStrategy
・ Context( 文脈 )
→ApproachCatLogic
Copyright © BizReach, Inc. All Right Reserved. 19
sample code...
Strategy パターン
Copyright © BizReach, Inc. All Right Reserved. 20
 戦略毎にクラスが別になるのでメンテナンスしやすい
• 戦略の切り替えが容易
• メソッドにとけこんだ形のアルゴリズムより、柔軟で修正しやすい
 戦略の追加の際に呼び出しメソッドの修正が不要
 アルゴリズムを動的に切り替える際に有用
• 実行環境での切り替え(ローカル、検証、本番)等
うれしいこと
Strategy パターン
Copyright © BizReach, Inc. All Right Reserved. 21
質疑応答
Copyright © BizReach, Inc. All Right Reserved.

More Related Content

PDF
[XP祭り2017][B-3(1)]DevOps時代のプロジェクトマネージメントを考えよう
PDF
[社内セッション]DevOps時代の僕の生き方、働き方
PDF
鉄壁の中のアジャイル
PDF
拝啓、プロダクトオーナー様。
PPTX
DDのはなし【勉強会資料】
PDF
Emotional development
PDF
越境アジャイル
PDF
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
[XP祭り2017][B-3(1)]DevOps時代のプロジェクトマネージメントを考えよう
[社内セッション]DevOps時代の僕の生き方、働き方
鉄壁の中のアジャイル
拝啓、プロダクトオーナー様。
DDのはなし【勉強会資料】
Emotional development
越境アジャイル
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術

What's hot (7)

PDF
塹壕にいるすべての同朋へ
PPTX
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
PDF
プロダクトオーナーが知るべき97のこと
PDF
越境する開発 -Seek Right Things-
PDF
われわれはなぜアジャイルに向かうのか
PDF
価値探索 -仮説検証の実践-
PPTX
誰でもできるGoogleアシスタント開発
塹壕にいるすべての同朋へ
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
プロダクトオーナーが知るべき97のこと
越境する開発 -Seek Right Things-
われわれはなぜアジャイルに向かうのか
価値探索 -仮説検証の実践-
誰でもできるGoogleアシスタント開発
Ad

Viewers also liked (16)

PDF
デザインパターン
PDF
Crystalを触り始めてから起こったこと
PPT
覚えて帰ろうJavaデザインパターン
PDF
dezainn
ODP
デザインパターン(初歩的な7パターン)
PPTX
Javaによる理想のデザインパターン
PPTX
凡人の凡人による凡人のためのデザインパターン第一幕 Public
PDF
Java デザインパターン勉強会 第5回(最終回)
PDF
GoF のデザインパターンじゃないけど、よくあるパターン
ODP
Strategy パターンと開放/閉鎖原則に見るデザインパターンの有用性
PPT
Template Method Design Pattern
PDF
「コトナス」:出会わなくても良いアプリ『Match★Contact』
PPTX
React NativeでTwitterクライアントを作ってみよう
PPT
XP寺子屋 デザインパターン入門
PDF
パターン言語の構造と事例
PDF
ハトでもわかるオブジェクト指向
デザインパターン
Crystalを触り始めてから起こったこと
覚えて帰ろうJavaデザインパターン
dezainn
デザインパターン(初歩的な7パターン)
Javaによる理想のデザインパターン
凡人の凡人による凡人のためのデザインパターン第一幕 Public
Java デザインパターン勉強会 第5回(最終回)
GoF のデザインパターンじゃないけど、よくあるパターン
Strategy パターンと開放/閉鎖原則に見るデザインパターンの有用性
Template Method Design Pattern
「コトナス」:出会わなくても良いアプリ『Match★Contact』
React NativeでTwitterクライアントを作ってみよう
XP寺子屋 デザインパターン入門
パターン言語の構造と事例
ハトでもわかるオブジェクト指向
Ad

Similar to 覚えて帰ろうJavaデザインパターン (20)

PDF
Google apps scriptを使って業務改善
PDF
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
PDF
アイデアを形にする ①プロダクト設計のイロハを学ぶ
PPTX
すぐに着手できる、SEO改善ポイントについて(後編)
PDF
【超初心者向け!】今更聞けないリーンスタートアップとデザイン思考
PDF
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
PPTX
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
PPTX
最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと
PPTX
JSUG 2018 BTC
PDF
BPSttudy#84 アイデアをカタチにする方法
PPTX
株式会社リブセンス会社説明資料(転職エージェント企業様向け)
PDF
Web企業における大規模組織での品質の取り組み
PDF
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
PDF
「AI?ダメ絶対!」とは言わせない! 伝統的な企業文化のなかでも、ソフトウェア開発にAIを 導入するための3つの方法とは? 2025-07-17 Deve...
PPTX
ソフトウェアのように〇〇を作る
PPTX
Firebaseマーケティング活用事例
PDF
Netadashi Meetup #6 20170629
PDF
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
PPTX
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
PDF
[ギルドワークス社イベント]〜DXを実現するためにユーザ企業とSI企業が今すぐとるべき3つのステップ〜(ボーナス版)
Google apps scriptを使って業務改善
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
アイデアを形にする ①プロダクト設計のイロハを学ぶ
すぐに着手できる、SEO改善ポイントについて(後編)
【超初心者向け!】今更聞けないリーンスタートアップとデザイン思考
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと
JSUG 2018 BTC
BPSttudy#84 アイデアをカタチにする方法
株式会社リブセンス会社説明資料(転職エージェント企業様向け)
Web企業における大規模組織での品質の取り組み
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
「AI?ダメ絶対!」とは言わせない! 伝統的な企業文化のなかでも、ソフトウェア開発にAIを 導入するための3つの方法とは? 2025-07-17 Deve...
ソフトウェアのように〇〇を作る
Firebaseマーケティング活用事例
Netadashi Meetup #6 20170629
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
[ギルドワークス社イベント]〜DXを実現するためにユーザ企業とSI企業が今すぐとるべき3つのステップ〜(ボーナス版)

覚えて帰ろうJavaデザインパターン

  • 1. Copyright © BizReach, Inc. All Right Reserved. 1 覚えて帰ろう java デザインパターン 2015 年 03 月 27 日 株式会社ビズリーチ プロダクトマーケティング本部 廣田 和也
  • 2. Copyright © BizReach, Inc. All Right Reserved. 2 自己紹介 名前 廣田 和也 所属 株式会社ビズリーチ java   3 年くらい
  • 3. Copyright © BizReach, Inc. All Right Reserved. 3 アジェンダ  デザインパターンとは  Template Method パターン  Strategy パターン
  • 4. Copyright © BizReach, Inc. All Right Reserved. 4 デザインパターンとは
  • 5. Copyright © BizReach, Inc. All Right Reserved. 5 デザインパターンとは ソフトウェア開発におけるデザインパターンとは 過去のソフトウェア設計者が発見し編み出した 設計ノウハウを蓄積し、名前をつけ、 再利用しやすいように特定の規約に従って カタログ化したものである。 引用元: wikipedia   デザインパターン ( ソフトウェア )
  • 6. Copyright © BizReach, Inc. All Right Reserved. 6 GoF (Gang of Four) のデザインパターン GoF とはエーリヒ・ガンマ、リチャード・ヘルム ラルフ・ジョンソン、ジョン・ブリシディースの 4 人のことで、書籍『オブジェクト指向における 再利用のためのデザインパターン』において デザインパターンという用語を初めてソフトウ ェア開発に導入し、同時に書籍の中で 23 種類の パターンを取り上げた。 デザインパターンとは
  • 7. Copyright © BizReach, Inc. All Right Reserved. 7 GoF のデザインパターン  23 種 Abstract Factory Builder Factory Method Prototype Singleton Adapter Bridge Composite Decorator Facade Flyweight Proxy デザインパターンとは Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template Method Visitor
  • 8. Copyright © BizReach, Inc. All Right Reserved. 8  少ない労力で良い設計ができる • 車輪の再発明はしない  メンバーに少ない単語で正確に設計を伝えられる • パターン名を伝えるだけで、その構造と振る舞いを瞬時に共有できる 覚えてうれしいこと デザインパターンとは
  • 9. Copyright © BizReach, Inc. All Right Reserved. 9 Template Method パターン
  • 10. Copyright © BizReach, Inc. All Right Reserved. 10 Template Method パターン 突然ですが・・・ テンプレートって知ってますか?
  • 11. Copyright © BizReach, Inc. All Right Reserved. 11 Template Method パターン コレです。 ↓↓↓↓
  • 12. Copyright © BizReach, Inc. All Right Reserved. 12 Template Method パターン スーパークラスで処理の枠組みを定め、 サブクラスでその具体的内容を実装する。 どんなパターン?
  • 13. Copyright © BizReach, Inc. All Right Reserved. 13 Template Method パターン sample program 動物との遭遇 クラス図 登場人物 ・ AbstractClass( 抽象クラス ) →AbstractAnimalEncounter ・ ConcreteClass( 具象クラス ) →DogEncounter,PigEncounter,CatEncounter
  • 14. Copyright © BizReach, Inc. All Right Reserved. 14 sample code... Template Method パターン
  • 15. Copyright © BizReach, Inc. All Right Reserved. 15 Template Method パターン  流れが同一で詳細が異なる処理をまとめられる  呼び出し元でサブクラスを意識しなくてすむ うれしいこと
  • 16. Copyright © BizReach, Inc. All Right Reserved. 16 Strategy パターン2
  • 17. Copyright © BizReach, Inc. All Right Reserved. 17 Strategy パターン  戦略( Strategy )=プログラミングにおける「アルゴリズム」  Strategy パターンでは、そのアルゴリズムを実装した部分がごっそ り交換できるようになっている 17 どんなパターン?
  • 18. Copyright © BizReach, Inc. All Right Reserved. 18 sample program 猫とのふれあい戦略 クラス図 Strategy パターン 登場人物 ・ StrategyInterface( 戦略の役 ) →SkinshipStrategy ・ ConcreteStrategy( 具体的戦略 ) →StrokeStrategy,FeedStrategy, SlapStrategy ・ Context( 文脈 ) →ApproachCatLogic
  • 19. Copyright © BizReach, Inc. All Right Reserved. 19 sample code... Strategy パターン
  • 20. Copyright © BizReach, Inc. All Right Reserved. 20  戦略毎にクラスが別になるのでメンテナンスしやすい • 戦略の切り替えが容易 • メソッドにとけこんだ形のアルゴリズムより、柔軟で修正しやすい  戦略の追加の際に呼び出しメソッドの修正が不要  アルゴリズムを動的に切り替える際に有用 • 実行環境での切り替え(ローカル、検証、本番)等 うれしいこと Strategy パターン
  • 21. Copyright © BizReach, Inc. All Right Reserved. 21 質疑応答
  • 22. Copyright © BizReach, Inc. All Right Reserved.