[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 11190] 「 EJB デザインパターン」読書会議事録 (5/22 日)



根本です、
読書会議事録を投稿します。

----------------------------------------
2004年 5月22日
「EJBデザインパターン読書会」(次が最終回)

出席者:坂本 吉村 小川 村山 村上 布留川 西野 高橋徹 高橋智 根本(記) 金井   敬称略
181ページから

■ビルドファイルの編成と実装
 ○antでの「メインターゲット」と「サブターゲット」の区分がわからない。
  antに関しては別途勉強が必要 (最近良書が出版されたのでは?) 
p183
 ○classの存在場所は先に空にするかどうかが議論されているが、eclipseは確定でtaget directoryを
  空にしてしまうので注意が必要。

 ○timestamp比較でclassをjavaからビルドするかどうかはtimestamp比較が基本
  (それ以外の方法はないだろう)

 ○Windowsが時間同期させる相手はdomain-serverかNTP serverか、両方見に行くらしい。
  timestamp比較で、引っかかるおそれがあるので、注意。
 ○<antcall >とは ? 引数付き呼び出しのことか
 ○<depends>は引数付きでは呼べないらしい。
  
 ○build.xml内の isNonDevelopmentEnvironment >
  がtrueの時は 爆発的配布という方法で、 classをばらまく方法である。
  開発環境はclassで、運用マシンの時はwarのままで運用するのがお作法。

■バウンス=再起動の意味で使われている。
 p.191 @createtables.sql の@は sqlのコマンド展開の意味
  ※参考  javac @file名 コンパイル対象ファイル一覧のリストで渡す>

 ○toplinkall.jar とはOracleのO/Rマッピングツールのことらしい。
  ○Oracleの"analyze=no"はSQLの最適化禁止のこと。時々analyzeして最適化する作業は必要。

■JUnitについて
 ○GUIテストが一番労力がかかる
 ○テストの規模
   p152のJ2EEの層の表記が参照?
■パッケージ化と格納先に関する注意事項
 ○ privateのテストについてどうするか?
   →junitのhomepageのFAQにあった、(リフレクションの使用は大げさ)   
 ○基本は、set()してget()して取り出せたかどうかを確認する。
 ○setter()/getter()はprotectedでもいいのではないか
 ○機能要件にテスト容易性が必要。
 ○クラス自身に不変条件のテストをさせると良い。
 ○事前条件/事後条件のテストは外から行う。
 ○「junit イン・アクション」を買いましょう(英語版とそう違いはないらしい)
 ○最近のJava環境では漢字メソッド名も問題なく使えるらしい、特に病院で使う英訳困難な単語などに適切。
 ○「SEの仕事を楽しくしよう」では、テストの時間も見積もりに入れることと指示している。
  http://www.amazon.co.jp/exec/obidos/ASIN/4883731944/ref=pd_bxgy_text_1/250-0759434-4497824
 ○エンティティBeanの代替手段としてのO/Rマッピング
 ○Session Fassade のバックエンドだけ処理が続いて、Session Fassadeは先に処理が
  抜ける使い方もある。
■エンティティBeanを弁護する
 ○Fatkeyパターンとは? TheServerSide.comでの調査は宿題
 ○XDocletは配備記述子も書く仕組みになっている。
 ○POJOとEJBどちらがいいのか、コンポーネント指向については同じ。
 ○EJB3.0では、EntityBeanとAOP関係 SecurityとかはCross Cutting Concern.
 ○JBOSSはPOJOできるようにするためにAOP対応している。
 ○MetaTagとしてXDocletが入って来て欲しい。
 ○POJOかデータアクセスするセッションBeanのどちらがいいのかは別な本を参照
  →別な本とはいったい何?(pojoというアニメおたくが本をたくさん出していて検出困難)
  POJO説明: http://www.atmarkit.co.jp/fjava/kaisetsu/j2eewatch02/j2eewatch02.html
 ○ JDOとは・・・
    サードパーティー制O/R Mapperとは: toplink、カスター、キャッシュ(OODBMS) などがある。
   分類としてはJDO仕様準拠のものもある。
  開発者はパーシステンスのコードを書く必要がない ←ウソ、多少は必要。
 ○EJBCはejbコンパイラ、スタッブ生成などの作業をするツールのこと
 ○EJB2.0はHomeI/FにstaticMethodが書ける。
■EJB開発者向けのJDO利用ガイド
 p221 String getOwner() {
   AccountId(id)  <-- accoutIdの誤植
 p221 下から3行目 構造体 <--Costructorの誤植
 p221一番下
 public AccountId(String str)   <--public String AccountId(String str)
  誤                正
 ○equals() とhashcode()も常に入れておくのは、お作法。
 ○このclass AccountId のコードは完成されているのか不明、動きそうにない。
 ○EJBのガイドとしてequals()などは入れておくべき
p224
 ○persistenceManager.retrieveAll(objs)メソッドは全てのデータを取り出すが、
  こ操作は必要

以上 次回 P227より