NOEMBLEM/エンブレムが設定されていません。

メールの詳細(トピック表示)

Memento 、Stateパターンの章の誤記?

投稿者:torutkさん  2002/03/31 18:14  MLNo.1465   [メール表示]

高橋(徹)です。

先日の読書会でMemento,State,Flyweight,Proxyを読みました。
月1回のペースで順調に開催しております。次回(6回目)で
読了となる予定です。
読書会のページ
http://www.t3-jpn.com/bof/

今回気付いた書籍の誤りと思われる点をお知らせします。

・Fig.18-1のGamerクラス
bet, createMemento, restoreMementoは公開メソッドなので+記号が
付いた方がよいのではないかと思います。可視性の記号は省略可能
ですが、同じクラスの箱の中に可視性の記号がついた属性やメソッド
があったので、付けていないものについても何か意図があるのかも
しれないと考えてしまいました。

・Fig.18-4のMementoクラス
<<wide interface>>
getPublicInfo
<<narrow interface>>
#getProtectedInfo
は、逆ではないでしょうか?
Caretaker役が利用するのがナローインタフェースなので、ここでは
getProtectedInfoではなくgetPublicInfoになると思われます。

・List A19-3
doClockメソッドのif文において、1つ目と2つ目の条件判断の順番が
逆ではないでしょうか?
下記のコードでは最初の条件が2つ目の条件を含んでしまい、2つ目の
条件が成立する時は必ず1つ目の条件が成立します。
if (9 <= hour && hour < 17) {
context.changeState(DayState.getInstance());
} else if (12 <= hour && hour < 13) {
context.changeState(NoonState.getInstance());
}


---
Toru TAKAHASHI


 読み込み中...

  • MLNo.1466   結城浩さん  (0) 2002/03/31 19:48  [メール表示する]
    結城です。
    ご指摘ありがとうございます。
    ちょっといまばたばたしていて詳しくチェックはできないのですが、
    ざっと見た範囲ではご指摘のとおりのようです。
    ありがとうございます。

    > ・Fig.18-1のGamerクラス
    > bet, createMemento, restoreMementoは公開メソッドなので+記号が
    > 付いた方がよいのではないかと思います。

    > ・Fig.18-4のMementoクラス
    > <>
    > getPublicInfo
    > <>
    > #getProtectedInfo
    > は、逆ではないでしょうか?

    > ・List A19-3
    > doClockメソッドのif文において、1つ目と2つ目の条件判断の順番が
    > 逆ではないでしょうか?

    ----
    結城浩 http://www.hyuki.com/
    http://www.textfile.org/
    For the word of God is living and active ... (Hebrews 4:12)



  • MLNo.1477   結城浩さん  (0) 2002/04/05 22:03  [メール表示する]
    結城です。
    『Java言語で学ぶデザインパターン入門』の誤りについて。
    [DP/ML:1465]は、高橋さんのご指摘のとおりでした。感謝します。
    http://www.freeml.com/message/patterns/1465

    ======================================================================
    (2002-04-05)
    p.437 List A19-3

    誤:
    if (9 <= hour && hour < 17) {
    context.changeState(DayState.getInstance());
    } else if (12 <= hour && hour < 13) {
    context.changeState(NoonState.getInstance());
    }
    正:
    if (12 <= hour && hour < 13) {
    context.changeState(NoonState.getInstance());
    } else if (9 <= hour && hour < 17) {
    context.changeState(DayState.getInstance());
    }

    ======================================================================
    (2002-04-05)
    p.279 Fig.18-4

    誤:
    <>
    getPublicInfo
    <>
    #getProtectedInfo

    正:
    <>
    #getProtectedInfo
    <>
    +getPublicInfo

    ======================================================================
    (2002-04-05)
    p.272 Fig.18-1

    誤:
    bet
    createMemento
    restoreMemento
    正:
    +bet
    +createMemento
    +restoreMemento

    ----
    結城浩 http://www.hyuki.com/
    http://www.textfile.org/
    For the word of God is living and active ... (Hebrews 4:12)


  • MLNo.1485   torutkさん  (0) 2002/04/14 22:46  [メール表示する]
    高橋(徹)です。

    "Hiroshi Yuki "さんは書きました:
    > 『Java言語で学ぶデザインパターン入門』の誤りについて。
    > [DP/ML:1465]は、高橋さんのご指摘のとおりでした。感謝します。
    これは独りで読んでいたらまったく気付かなかったですね。多分十数人で
    読んでいたから分かったのでしょう。読書会に参加した皆に感謝したいと
    思います。同じ本であっても、独りで読むよりも大勢で読む方が得られる
    ものが大きいといつも感じています。

    宣伝になってしまいますが、読書会は次回4/27(土)開催予定です。
    場所は東京三田です。詳しくは下記URLをご覧下さい。
    http://www.t3-jpn.com/bof/

    ---
    Toru TAKAHASHI

  • MLNo.1486   結城浩さん  (0) 2002/04/14 23:07  [メール表示する]
    高橋さん、結城です。

    > 同じ本であっても、独りで読むよりも大勢で読む方が得られる
    > ものが大きいといつも感じています。

    なるほど、なるほど。

    > 宣伝になってしまいますが、読書会は次回4/27(土)開催予定です。
    > 場所は東京三田です。詳しくは下記URLをご覧下さい。
    > http://www.t3-jpn.com/bof/

    次回で『Java言語で学ぶデザインパターン入門』の巻は終わりなのですね。
    でも今後も、[DP/ML]に読書会の案内をぜひ流してくださいね。

    議事録を読むと、
    ずいぶん多次元に渡る深いやりとりが活発になされているようで、
    すばらしい会だと思います。
    これからもますます盛り上がるといいですね。

    - - - - - - - -

    余談ですが… 議事録
    http://www.t3-jpn.com/bof/dpattern5.html
    の最後の方にある、

    > P.326 List21-1 Printer.java
    > ・デフォルトコンストラクタはなぜあるのか?
    > →問題21-1で使うため。
    > →そういうのが多い。結城パターンと命名。

    には思わず頭をかいてしまいました(^_^; 恐縮です。
    全部見抜かれていますね(^_^;;

    ----
    結城浩 http://www.hyuki.com/
    http://www.textfile.org/
    For the word of God is living and active ... (Hebrews 4:12)




メールへの返信はMLのメンバーしかできません。
【PR】こだわりのブログみんなが集まる掲示板最新のブログ携帯対応日記みんなのブログ
これが憧れの4LDK超/SUUMO