読書会(Java言語で学ぶデザインパターン入門)第6回議事録

[ 戻る ]


Java言語で学ぶデザインパターン入門第 6 回議事録

日時:2002/4/27 10:00-16:30
場所:三田図書館 3F集会室B
参加者:鈴木さん、中田さん、小川さん、西海さん、福嶋さん、金井さん、根本さん、
        伊藤さん、小滝さん、石黒さん、山本さん、中村さん、東宮さん、布留川さん
、         高橋(智)
朗読者:小川さん、鈴木さん、福嶋さん
書記:高橋(智)

◆はじめに
    今回は、残りの22章と23章だけとなり、急遽午後は全く別の題材を読むことに
  なってしまいました。題材は、JavaWorld誌 2001年12月号のJ2EEパターン特集で
  した。30ページほどもあり、最後まで読むことは出来ませんでしたが、非常に有
  名(?)なSessionFacadeパターンを読むことができて良かったと思いました。
  以下、読書の最中に話し合った事柄を列挙します。

■ 第22章 Commandパターン

P340
  アグリゲーションの端の矢印(-->)がつかないこともあるのではなかったか?
    --> たしかにつかない書き方もあるらしい

P342
  undo()メソッドの !commands.empty() という条件チェックは必要なのか?
  データが無ければnullが返ってくるのではないだろうか?
  または、例外が送出されるのではないだろうか?
    --> データが空の場合には、Statck.pop()メソッドは EmptyStackException
        という実行時例外を送出する

  Statckクラスに、nullデータをpushすることは可能なのか?
    --> 可能である

  undo()メソッドは、「アンドゥ」というべきものにはふさわしくないのではないか?
  これは単に「アンスタック」というものではないだろうか?
    --> 結城さんが主催されているメーリングリストがあるので、そちらで質問され

        てはいかがでしょうか?

  Statck.push()する際に、thisをpushしないようにチェックしているが、これは無限
  ループを防止するためである。しかし、これではチェックが足りないハズである。

  というのも、循環参照していることもあり得るからである。
    --> executeメソッド内で再入してくるかどうかをチェックするというのは使えな
        いか?
    --> 福嶋さん@PFUは、会社の仕事で「循環参照を検出するための特許」を取った
        そうである。後々、当メーリングリストにて委細を教えていただけるそうです

P347
  ここのソース(クラス)では突然Swingを使用するように設計されているが、何故だろ
  うか?
    --> Swingを使わざるを得ない状況だったのではないだろうか?
    --> 結城さんパターンとして練習問題に関係しているのではないか?

  SwingとAWTを組み合わせたGUIを作成することはお薦めできない。
  正常に動作しないことがある。
    --> 本で紹介されているプログラムも、実際には正常に動作しないことがあるの

        ではないだろうか?

P354
  インナークラスの命名規則が紹介されているが、この命名規則は何処に書かれている
  のであろうか?
    --> Java言語かJavaVMの仕様で決まっているはず。
    --> この命名規則について書かれている本はあまり見かけない


◆ 昼食
   近くの中華料理屋。13人で座れる丸テーブルで楽しいひととき。
   小川さんがJavaの認定試験に合格したそうです。
   internetに試験対策の問題があるらしい。


■ 第23章 Interpreterパターン

P363
  BNFの拡張版がXMLの定義で使われているそうです

P370
  CommandListNodeクラスのtoString()メソッドの中で「"" + list」という記述を行っ
  ている
    --> あまりお薦めできない。
    --> 結城さんパターンである

P377
  なぜ AbstractExpression は、抽象クラスなのか? interfaceではダメなのか?
    --> 結城さんパターンによれば、練習問題と関係しているのではないだろうか?
          --> 練習問題を見てみると、どうやら関係なさそうだ

  構文解析には JavaCC のようなツールがある。
    --> 先月のJDJ誌のPDF版に解説が載っていて、WebGainの技術者(元々はSunの人)

        が現在も製作を続けているらしい。フリーで利用できる
          --> そのうちJDKに搭載されるのではないか
          --> JSRに提案されているのではないか
  (※JDJ誌のPDF版のURLはとうとう見つけられませんでした。すみません。)

P380
  練習問題の23-1は各自実行すること。宿題とします。


■ JavaWorld誌(2001年12月)のJ2EEパターンの特集記事 
   出展:IDGジャパン 

P72
  「ベストプラクティス」の日本語の訳はなんであろうか?
    --> 最適解とか...
    --> 英語のままのほうがカッコイイ!!

  参考資料の「Core J2EE Pattern」の本は、今年中にも邦訳本が出るのではないか?


P77
  Tomcatのコンテナ認証もこのフィルターパターンを使っている

  フィルターパターンは、Commandパターンや、Chain of Responsibilityパターンを

  利用したものであろう

P79
  「シングルポイント障害」とはなんであろうか?
    --> 一ヶ所に障害が発生してしまうだけで、システム全体が使えなくなってしまう
        障害のことである。
    --> 具体的な意味を調べてみる。
        --> 「可用性が高い」ということ

  Controllerは、JSPよりもServletで実装すべきと書かれている
    --> そもそも今時JSPで実装する人なんているのか?
          --> いるらしい

P80
  XSLTを使うのはとても難しい。特に日本語を扱うのが難しいらしい。

  J2EEとUMLとのマッピングがJSRで提案されているらしい。
    --> JSR26 というのがある
        ( http://www.jcp.org/jsr/detail/26.jsp )
    --> それに対応したツールが二つほどあるが、高い!!  

P82
  「Service to Worker」の日本語の訳は?

P83
  「Dispatcher」とは?
    --> brokerとも言うことができるのではないか?
    --> P79に定義が書かれている

P86
  ControllerとDispatcherの機能を一つのクラスに書いても(実装しても)良いか?
    --> 作っても構わないと思う

P94
  EJBHomeのキッシュを行う際には、クラスタリングも考慮する必要がある


◆ 打ち上げ
  一次会は近くの居酒屋「天狗」で17:00より開始。こんな早い時間にもかかわらず、
  既にお客さんがいました。お一方\2,000也。
  近に座っていた学生たち20人くらいがいきなりイッキ飲みを始めてめちゃくちゃ
  うるさくなったので、石黒さんが一喝!! 学生おとなしくなる。(笑)

  二次会は、鈴木さん行きつけの「天ぷらやさん」。ボリュームがあり、おいしく
  いただけました。お一方\1,700也。


◆さいごに
  次回に読書会の課題図書は既に投票が始まっています。
  5月の中旬をメドに締め切りたいと思います。


[ 戻る ]