2014年11月30日日曜日

開発環境

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 コメント:

コメントを投稿