Head Firstデザインパターン
頭とからだで覚えるデザインパターンの基本
(オライリージャパン)
Eric Freeman (著), Elisabeth Freeman (著)
Kathy Sierra (著)Bert Bates (著)
佐藤 直生 (監訳), 木下 哲也 (翻訳)
有限会社 福龍興業 (翻訳)
原著
楽天ブックス(Kobo) Yahoo!
開発環境
- OS X Yosemite - Apple (OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Java (プログラミング言語)
- javac (コンパイラ)
- java (application launcher)
Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本 (Eric Freeman 著、Elisabeth Freeman 著、Kathy Sierra 著、Bert Bates 著、佐藤 直生 監訳、木下 哲也 翻訳、有限会社 福龍興業 翻訳、オライリージャパン)の11章(Compoundパターン: パターンのパターン)、自分で考えてみよう(p.441)を解いてみる。
その他参考書籍
自分で考えてみよう(p.441)
コード(BBEdit, Emacs)
AbstractGooseFactory.java
public abstract class AbstractGooseFactory {
public abstract Quackable createGoose();
}
GooseFactory.java
public class GooseFactory extends AbstractGooseFactory {
public Quackable createGoose() {
return new GooseAdapter(new Goose());
}
}
DuckSimulator.java
public class DuckSimulator {
public static void main(String[] args) {
DuckSimulator simulator = new DuckSimulator();
AbstractGooseFactory gooseFactory = new GooseFactory();
simulator.simulate(gooseFactory);
}
void simulate(AbstractGooseFactory gooseFactory) {
Quackable gooseDuck = gooseFactory.createGoose();
simulate(gooseDuck);
}
void simulate(Quackable duck) {
duck.quack();
}
}
入出力結果(Terminal)
$ java DuckSimulator ガー $
0 コメント:
コメントを投稿