Factory Method Pattern S. Yukita

Slides:



Advertisements
Similar presentations
WSDL と JAX-RPC ソフトウェア特論 第 10 回 / お知らせ レポート課題を出しています。 提出は 7/30 ( 金 ) まで。
Advertisements

物理演算を利用したビデオエフェクタの 作成 浅野益弘. 研究内容 経緯 NiVE ( Nico Visual Effects )用のエフェ クトプラグインの作成 本プラグインにより動画作成にかかる 時間と手間の短縮と省力化を目指す.
レポート書き方. おしいレポート よく調べてある それぞれの、1文の言っていることは正 しい しかし、全体として、何が言いた いのかわからない 内容の重要だが、全体の構成も重 要である.
東京工科大学 コンピュータサイエンス 亀田弘之
7.n次の行列式   一般的な(n次の)行列式の定義には、数学的な概念がいろいろ必要である。まずそれらを順に見ていく。
第 3 回 iPhone アプリ開発勉強会 Objective-C 基礎講座 - インスタンスメソッド - 三井 相和.
9.線形写像.
時間的に変化する信号. 普通の正弦波 は豊富な情報を含んでいません これだけではラジオのような複雑な情報 を送れない 振幅 a あるいは角速度 ω を時間的に変化 させて情報を送る.
情報処理A 第10回 Excelの使い方 その3.
麻雀ゲーム 和島研究室 ソ 小林巧人
5.連立一次方程式.
相関.
ノイズ. 雑音とも呼ばれる。(音でなくても、雑 音という) 入力データに含まれる、本来ほしくない 成分.
広告付き価格サービ ス 小園一正. はじめに 世の中には様々な表現方法の広告があり ます。その中でも私たち学生にとって身 近にあるものを広告媒体として取り入れ られている。 価格サービス(無料配布のルーズリー フ)を体験したことにより興味を惹かれ るきっかけとなった。主な目的は、これ.
素数判定法 2011/6/20.
フーリエ係数の性質. どこまで足す? 理想的には無限大であるが、実際に はそれは出来ない これをフーリエ解析してみる.
1章 行列と行列式.
本宮市立白岩小学校. 1 はじめに 2 家庭学習プログラム開発の視点 ① 先行学習(予習)を生かした 確かな学力を形成する授業づく り ② 家庭との連携を図った家庭学習の習慣化.
フーリエ級数. 一般的な波はこのように表せる a,b をフーリエ級数とい う 比率:
3.エントロピーの性質と各種情報量.
Excelによる積分.
1 6.低次の行列式とその応用. 2 行列式とは 行列式とは、正方行列の特徴を表す一つのスカ ラーである。すなわち、行列式は正方行列からスカ ラーに写す写像の一種とみなすこともできる。 正方行列 スカラー(実数) の行列に対する行列式を、 次の行列式という。 行列 の行列式を とも表す。 行列式と行列の記号.
計算のスピードアップ コンピュータでも、sin、cosの計算は大変です 足し算、引き算、掛け算、割り算は早いです
線形符号(10章).
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
10.PとNP完全問題との境界.
複素数.
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
システムプログラム論 課題 大村 廉. 課題 Java を用いて Producer / Consumer 問題を解決する MyBuffer クラスを –Synchronized キーワード –Semaphore クラス (java.util.concurrent.Semaphore) を用いてそれぞれ作りなさい.
信号測定. 正弦波 多くの場合正弦波は 0V の上下で振動する しかし、これでは AD 変換器に入れら れないので、オフ セットを調整して データを取った.
1 9.線形写像. 2 ここでは、行列の積によって、写像を 定義できることをみていく。 また、行列の積によって定義される写 像の性質を調べていく。
通信路(7章).
三角関数の合成.
平成22年度 第4回 Let’s Enjoy English 平成22年度 第4回 Let’s Enjoy English 期日:平成22年10月30日 場所:旭川市立北光小学校 基調提言.
3.正方行列(単位行列、逆行列、対称行列、交代行列)
学習者の意欲を高める音読指導の 一時例 1 Speak を使った 音読指導 鈴木政浩(西武文理大学)
プログラミング演習B ML編 第3回 2010/6/15 (コミ) 2010/6/16 (情報・知能) 住井 ~sumii/class/proenb2010/ml3/
作成( 改編) 1 参考文献の書き方を覚えよ う! 発表やレポート作成に文献等を活用 した場合、その出典を明確にしなく てはなりません。 練習してみましょ う。
論理回路 第1回. 今日の内容 論理回路とは? 本講義の位置づけ,達成目標 講義スケジュールと内容 受講時の注意事項 成績の評価方法.
伝わるスライド 中野研究室 M2 石川 雅 信. どのようなスライドを作れば良 いか 伝えたいこと.
Three-Year Course Orientation International Course.
Analog “ neuronal ” networks in early vision Koch and Yuille et al. Proc Academic National Sciences 1986.
JPN 311: Conversation and Composition 許可 (permission)
地図に親しむ 「しゅくしゃくのちがう 地図を 使ってきょりを調べよ う1」 小学4年 社会. 山口駅裁判所 県立 美術館 サビエル 記念聖堂 山口市役所 地図で探そう 市民会館 県立 図書館.
C言語応用 構造体.
Servlet 入門 大岩研究室 川村昌弘. そもそも WEB アプリってなんやね ん n この研究会のテーマは『 WEB アプリケー ションの開発』でした. n じゃぁ WEB アプリケーションって何です か? o WEB アプリってどんなものがありますか? 検索エンジン 乗換え案内サイト 翻訳.
HKS Analysis Log Jul 2006 Part1 D.Kawama. 第壱部 HKS Sieve Slit Analysis.
言語とジェンダー. 目的 言語には、性的な存在である人間の自己認識や 世界認識を決定する力が潜んでいる。 – 言語構造の面(言語的カテゴリー ) – 言語運用の面 日常に潜む無意識の言語の力を、記述し、意識 化することが本講義の目的である。 同時に、さまざまな言語、さまざまな文化には、 それぞれに特徴的な問題があり、ジェンダーの.
1 プログラミング言語論 第13回 プログラムの意味論と検証 (2) 表示的意味論 担当:犬塚. 2 表示的意味論 denotational semantics  表示的意味論では、プログラムの要素とそれが 意味するものを対応付ける。 変数 式 文 A B … A+2 2B+C A:=A+2 if.
Elementary Japanese ‐in twenty hours- Chapter 9
地図に親しむ 「じっさいのけしきと 地図をくらべよう」
8.任意のデータ構造 (グラフの表現とアルゴリズム)
プログラミング入門2 第3回 複合文、繰り返し 情報工学科 篠埜 功.
リファクタリング支援のための コードクローンに含まれる識別子の変更内容分析 井上研究室 工藤 良介 1.
実験5 規則波 C0XXXX 石黒 ○○ C0XXXX 杉浦 ○○ C0XXXX 大杉 ○○ C0XXXX 高柳 ○○ C0XXXX 岡田 ○○ C0XXXX 藤江 ○○ C0XXXX 尾形 ○○ C0XXXX 足立 ○○
自立型走行ロボットの 設計・製作 AKI-80を用いたアセンブリ言語の プログラミング開発 矢萩・橋本研究室 工E12019 山田 正樹
携帯電話でのコミュニ ケーションについて 1班真田 出水 佐伯 堺. 仮説  女性のほうが携帯電話を使ったコミュニ ケーションを重要視する。
Exercise IV-A p.164. What did they say? 何と言ってましたか。 1.I’m busy this month. 2.I’m busy next month, too. 3.I’m going shopping tomorrow. 4.I live in Kyoto.
音の変化を視覚化する サウンドプレイヤーの作成
HCC Hair Color Change. メンバー ソ 渋谷麻美 ソ 渋谷麻美 ソ 清野理衣子 ソ 清野理衣子 ソ 三上貴大 ソ 三上貴大.
Self-efficacy(自己効力感)について
たくさんの人がいっしょに乗れる乗り物を 「公共交通」といいます バスや電車 と 自動車 の よいところ と よくない ところ よいところ と よくない ところ を考えてみよう!
Builder Pattern S. Yukita Builder Pattern2 Builder パターン 使われ所 大きなインスタンスを組み上げる場合。 インスタンスの組み上げにパターンが あるとき,パターンをディレクタに固 定する。 組み上げパターンに従って実際の仕事.
2015/11/19. To foster Historical Thinking Skill by Creating Story Necessary Relationships and Elements of Characters In historical learning, historical.
英語勉強会 名手⇒詫間 2015/10/22. 原文 This study says acquiring motor skills support system. There is how to acquire moor skills that coach advises learner. Motor.
雪 ゆき. 雪や こんこ ゆき.
肝臓移植 プロの肝臓移植サービスを選 択. 肝臓移植が必要なのはいつです か? 肝移植は、肝臓がもはや 適切に機能しなくなった とき(肝不全)に考慮さ れる。 ウイルス性肝炎、 薬物誘発傷害または感染 の結果として肝不全が突 然起こることがある(急 性肝不全)。 肝不全は長 期的な問題の最終結果で.
腎臓移植 腎臓移植の前に、ドナー両方の腎臓は機 能的に良好でなければならない。ドナー の両方の腎臓が機能的に健康であること を保証するために、多数の試験が行われ ている。
地球儀と様々な地図. 1 球体としての地球 こうした現象はあることをイ メージすると理解できる。
Ask Have ~ ? / How long ~ ? Answer these questions
Presentation transcript:

Factory Method Pattern S. Yukita

Factory Method2 Factory Method パターン クラス階層のどのサブクラスをインス タンス化するか。その決定をサブクラ スに委ねる。 付帯的な案件 – インスタンス生成に際して,取り巻く他の オブジェクト達との配線が必ず伴うとき, その作業もインスタンス生成に含めるのが よい。 –constructor に任せるのが酷な場合。 – 配線パターンが定石なら抽象化してしまう。 具体的なクラス名はそこでは使わない。

Factory Method3 例題のクラス図 Factory create [final] createProduct registerProduct Product use Creates IDCardFactory owners createProduct registerProduct getOwners IDCard owner use getOwner Creates framework

Factory Method4 例題の構成 framework パッケージ –Product.java –Factory.java idcard パッケージ –IDCard.java –IDCardFactory.java Main.java

Factory Method5 Product.java package framework; public abstract class Product { public abstract void use(); }

Factory Method6 Factory.java package framework; public abstract class Factory { public final Product create(String owner) { Product p = createProduct(owner); registerProduct(p); return p; } protected abstract Product createProduct(String owner); protected abstract void registerProduct(Product product); }

Factory Method7 IDCard.java package idcard; import framework.*; public class IDCard extends Product { private String owner; IDCard(String owner) { System.out.println(owner + " のカードを作ります。 "); this.owner = owner; } public void use() { System.out.println(owner + “ のカードを使います。 ”); } public String getOwner() {return owner;} }

Factory Method8 IDCardFactory.java package idcard; import framework.*; import java.util.*; public class IDCardFactory extends Factory { private Vector owners = new Vector(); protected Product createProduct(String owner) { return new IDCard(owner); } protected void registerProduct(Product product) { owners.add(((IDCard)product).getOwner()); } public Vector getOwners() {return owners;} }

Factory Method9 Main.java import framework.*; import idcard.*; public class Main { public static void main(String[] args) { Factory factory = new IDCardFactory(); Product card1 = factory.create(" 結城浩 "); Product card2 = factory.create(" とむら "); Product card3 = factory.create(" 佐藤花子 "); card1.use(); card2.use(); card3.use(); }

Factory Method10 実行結果 結城浩のカードを作ります。 とむらのカードを作ります。 佐藤花子のカードを作ります。 結城浩のカードを使います。 とむらのカードを使います。 佐藤花子のカードを使います。

Factory Method11 パターン Creator create factoryMethod Product method1 method2 method3 Creates ConcreteCreator factoryMethod ConcreteProduct method1 method2 method3 Creates framework

Factory Method12 例題の解釈 Factory create [final] createProduct registerProduct Product use Creates IDCardFactory owners createProduct registerProduct getOwners IDCard owner use getOwner Creates 定型配線パ ターン override 不可 要素的アク ション 抽象的 具体的