[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 08/21 19:06 / Filesize : 235 KB / Number-of Response : 960
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★★Java質問・相談スレッド133★★



1 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 01:02:31 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    ttp://pc11.2ch.net/hp/
Webプログラミング ttp://pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 ttp://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
★★Java質問・相談スレッド133★★
ttp://pc12.2ch.net/test/read.cgi/tech/1251630161/
次スレは>>950あたりで。

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
ttp://www.wikiroom.com/java/

378 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 19:57:55 ]
>>374
まてまて、その場合はfinallyでcloseするんだからFileがないかどうかなんて普通はチェックしない
そもそも、まともなアプリなら先にファイルの有無くらい確認すべきだが

379 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 20:08:15 ]
割り込みすいません。
表の形式で文字列を表示させたいのですが、
例えば、
AAAA B
AA   B
A    B
と列の頭を揃える場合、簡単に実現できる方法はありませんか?

380 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 21:00:41 ]
String#format

381 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 21:06:15 ]
>>380
ありがとうございます。
書くのを忘れていましたが全角の場合はどうすればいいですか?

382 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 21:52:09 ]
>>375
オブジェクトって生成されないよ?
どうやって呼ぶの?

383 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 22:14:09 ]
>>381
タブ

384 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 22:15:13 ]
>>383
ありがとうございます。

385 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 22:45:10 ]
javaを始めようかと思っています。
色々あってよく分かりません。
一通りのことを教えていただけないでしょうか?

386 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 22:53:08 ]
>>385
初歩的なjavaのプログラミング程度のスタートアップを自分でやれないようなら止めといた方がいい



387 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 23:08:00 ]
>>385
いろいろって何がありますか?

388 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 23:59:08 ]
>>385
入門書1冊買えば一通りのことは載っている

389 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 00:10:20 ]
Java1.4互換のクラスファイルを生成するJSR14を使ってプログラムをビルドしようとしたら、
ジェネリクスは使えましたが、enumは使えませんでした。

ビルド・パスが不完全であるため、プロジェクトはビルドされませんでした。
java.lang.Enum のクラス・ファイルが見つかりません。ビルド・パスを修正してから、このプロジェクトをビルドしてください

EnumはJDK1.4には存在しないので、エラーになるのは当然ですが、どう解決すればいいでしょうか。
Javaの標準クラスライブラリのソースコードが入手できればいいんですが、何処にあるのかわかりません。

390 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 00:18:41 ]
ねーよw
解決はenumをはじめ、5系に依存するコードを含めいようにすること

391 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 10:32:56 ]
java.lang.StringBuilderはどんな感じで作られているのか気になったので、JDKのソースを読んでみた
sb.append("str");は
strをcharの配列に変換→フィールドのchar[]に変換したのをコピー
sb.toString();は
return new String(byte[] bytes, int offset, int length) ;

StrinbBuilderはスレッドセーフじゃなくていいので、結構簡単に作れそう

392 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 10:38:58 ]
勉強目的で作るならいいと思うが、そういう意味だよな?

393 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 10:54:12 ]
>>392
当たり前だろクラッカー

394 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 11:40:56 ]
専用クラスファイルの追加を気にしないなら、Retrotranslator使えば?
こっちならJDK1.5以降のクラスも色々対応してくれている。

395 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 12:55:39 ]
素朴な疑問なのですが、デザインパターンのシングルトンについて質問
シングルトンはオブジェクトが1つしかないことを保証するので、
staticなフィールド(static finalは除く)は一ミリも意味がなくないですかか?

396 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 12:59:56 ]
かか



397 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 13:10:27 ]
>>395
static なフィールドを使わないで、シングルトンから返す実体を保持する方法を
思いついたのならば問題なし。

398 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 13:15:17 ]
public class Singleton { public static Singleton getSingleton() { return Singleton.getSingleton(); } }

399 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 13:19:21 ]
スタックオーバーフローじゃね

400 名前:395 mailto:sage [2009/10/25(日) 15:25:58 ]
いまいちわかりませんが、適当に作ります

401 名前:デフォルトの名無しさん [2009/10/25(日) 15:26:07 ]


402 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 17:36:59 ]
>>398
シングルトンになってるのってクラス名だけだよね。

403 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 20:23:44 ]
そもそもここはデザパタスレだったのか

404 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 22:01:32 ]
で?

405 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 22:36:47 ]
JAVAを勉強し始めて間もないのですが…
画像をピクセル単位で表示位置を設定し、
クリックすると動作を行うプログラムを
作成したいのですが…。
現在はJButtonに画像を表示し、GridBagLayoutを
使用して配置しようとしてるのですが、
これですと、ボタンの細かい位置やサイズが指定できなくて
困っています。
そのようなクラスを使用すればいいのでしょうか??
もしよければ、サンプルプログラムなどもあるとうれしいです。。

406 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 22:43:37 ]
>>405
>JAVAを勉強し始めて間もないのですが…
何の免罪符だよw
そう言えば同情してもらえるとでも思ってるの?



407 名前:405 mailto:sage [2009/10/25(日) 23:09:03 ]
>>406
早速のお返事ありがとうございます。

同情してもらおうと思ってるのではなく、
正直ここにいる人よりJAVAのレベルが
私は低いと思ったのでそう書かせていただきました。

408 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 23:29:44 ]
import javax.swing.*;
public class MainFrame {
public static void main(String[] args) {
JFrame f = new JFrame("Sample");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addPanels(f);
f.setBounds(100, 100, 200, 100);
f.setVisible(true);
}
private static void addPanels(JFrame f) {
f.setLayout(null);
JButton btn = new JButton("Button");
btn.setBounds(10, 10, 150, 15);
f.add(btn);
JPanel pan = new JPanel();
pan.setBorder(BorderFactory.createLineBorder(java.awt.Color.green, 5));
pan.setBounds(10, 30, 100, 30);
f.add(pan);
}
}

409 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 23:33:35 ]
>>407
そういうのは日記にでも書いとけ。な?

410 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 23:35:20 ]
>>407,409
カリカリイライラしちゃってかわいそう・・・
彼女にふられたとか?

411 名前:405 mailto:sage [2009/10/25(日) 23:43:17 ]
>>408
ありがとうございます!
すぐに理解はできなさそうですが…
これ見ながら頑張ってみます!

412 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 23:46:09 ]
>>410
すまん。

質問の冒頭に
「JAVA初心者です。」とか「昨日からJAVAの勉強し始めました。」
みたいな前置きをつける奴みると無性に腹が立つんだよな。
知らないことは悪いことではないが、それを盾にするなと言いたい。


413 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 23:49:08 ]
盾だと思っちゃうのは性格がひねくれてるからだぉ

414 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 23:54:26 ]
>>413
確かにそうかもしれん。

>>413は、前置きするのはどういうことだと思う?

415 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 23:56:34 ]
単に自分のプロフィールを紹介する目的

416 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 00:00:38 ]
>>412
おまい、案外素直な子じゃな



417 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 00:03:59 ]
>>415
ありがとう。
理解はできなさそうだが・・・

418 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 00:10:18 ]
まあどこのコミュニティでも最初に「初心者なのですが」と書くやつは叩かれる

419 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 00:20:06 ]
質問者のレベルによって回答の仕方も変わるからね。
「初心者です」を後出しされるよりいいと思う。

420 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 00:38:34 ]
最初に自分が初心者レベルであることを書いてないなら書いてないで
「お前そんなことも知らないで今までよくやってこれたな」
と叩かれるだけで結局回答がこのスレでつくような質問は初心者には不可能となる

421 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 01:07:47 ]
アナル初心者なんですけど、
お尻の中はどうやって洗えばいいんですか? ><

422 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 03:03:41 ]
>>416
おじいちゃんお口臭いお(´・ω・`)

423 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 08:29:39 ]
Tomcat+MySQLでWebアプリを開発しています。
EclipseからTomcatを起動した場合は正常に動作しますが、.war ファイルを作って Tomcat にデプロイし起動すると
最初のデータソースへのアクセスで Cannot create JDBC driver of class '' for connect URL 'null' と怒られます。
データソースの設定は Web アプリの META-INF/Context.xml に記述していますが、ドライバクラス名も URL も取得できていないようです。
ちなみにドライバは Tomcatフォルダ/lib にコピーしてあります。
.war ファイルにした場合は、Tomcat 自体の設定に何かを追加する必要があるのでしょうか?

424 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 08:39:41 ]
public void actionPerformed(ActionEvent e) {}をオーバーライドして、
public void run()を匿名クラスとして定義したんだけど
なんで、自分自身のインスタンスthisが使えないのよ?

class Hoge extends JFrame{
public void actionPerformed(ActionEvent e) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Temp t = new Temp(this); ←ここで、IDEに怒られる
}}}}

425 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 09:26:20 ]
>>424
Tempって何よ?

426 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 10:53:12 ]
テンポラリとおもいきや添付ファイルだったり



427 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 11:05:43 ]
愚民の皆さま、何か間違ってますか?

428 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 11:18:07 ]
>>424
もしかして: Hoge.this
単に this と書くといちばん内側の匿名 Runnable を指す

429 名前:デフォルトの名無しさん [2009/10/26(月) 13:21:07 ]
初心者です。
JFrameクラスのSetResizable()をfalseにしたとき
ウィンドウの内側に枠線のようなものが出るのですが
これを消すことはできますでしょうか。

430 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:54:00 ]
以前、JavaScriptでプログラムを書いていたので、上司からJavaをヤレと言われて、あわてています。
JavaScriptで書いてあるプログラムをJavaに持ってきても動作するのでしょうか?

431 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 14:07:38 ]
JavaとJavaScriptは完全に別物です
JavaScriptのことは忘れてイチからJavaを勉強する必要があります

432 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 14:36:56 ]
>>431
そうですか。上司にあなたのレスを見せることにします。

433 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 14:39:55 ]
>>432
ちげーだろ、これからはJavaといいたかったんじゃろ?

434 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 14:47:31 ]
>>430
Java 上で JavaScript を動かすことは可能だけど一部動作しない。

435 名前:430 mailto:sage [2009/10/26(月) 15:22:22 ]
動作するんですか。よかった。過去自分が作った資産が使えそうです。

436 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 16:26:48 ]
そりゃ動かせるけど、それはJavaをヤルってことにはならんのでは?



437 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 16:31:48 ]
JavaScript を JSP に貼り付けるのか?

438 名前:430 mailto:sage [2009/10/26(月) 17:03:55 ]
>>436
やっぱりJAVAらしく1から作り直した方が後々、いいですかね?

439 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 17:13:56 ]
ScriptEngineManagerなのか・・

440 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 17:35:04 ]
本気で言っているならばまずはJavaの勉強を少ししてから流用できるか検討しろ

441 名前:424 mailto:sage [2009/10/26(月) 19:10:02 ]
>>428
わかりました。ありがとうございます

442 名前:デフォルトの名無しさん [2009/10/26(月) 21:12:52 ]
上司古いな
これからはむしろJavaScriptの時代なのに。
それかGWTでやれって事なのか?

443 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 21:26:03 ]
実はクライアントアプリをサーバアプリにしろというヤバい案件なのかも

444 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 22:03:14 ]
>>423
>>423
EclipseのプラグインからTomcatを起動してるときと、Tomcat単体で動かしてるときの違いを理解せよ。

<Tomcat>/conf/Catalina/localhost/<proj>.xml

445 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:12:30 ]
XMLでソフトの設定ファイルを書こうかなと考えていました
しかし、java.utils.Propertiesとかいうクラスを発見
XMLで実装するよりも、Propertiesの方が楽そうに印象を受ける

お前らなら、XML or Propertiesのどっちにするの

446 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:14:33 ]
Properties で XML 入出力



447 名前:423 mailto:sage [2009/10/26(月) 23:32:39 ]
>>444
ありがとうございます。
<Tomcat>/conf/Catalina/localhost に、.war ファイルから取り出した Context.xml を
Webアプリ名.xml としてコピーしたら、無事DBにアクセスできました。

ただ、この作業は必須なのでしょうか?
Tomcat6 では .war ファイルのみでデプロイ可能だと思っていたので、なんとなくすっきりしないような・・・

448 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 00:15:19 ]
どうしてXMLに固執するのか分からん。
ソフト固有の設定情報でしかなく他のソフトや他のコンピュータとのやりとりを行うこともないものなのに…
もちろんそういうことが必要な情報だというのならXMLも選択肢の一つだろうけど。

449 名前:423 mailto:sage [2009/10/27(火) 00:29:37 ]
済みません。しょうもないミスでした。。。
META-INF/Context.xml を context.xml にリネームして再度 .war ファイルをデプロイしたら
Tomcat が .war ファイルを展開後 <Tomcat>/conf/Catalina/localhost に Webアプリ名.xml としてコピーしてくれました。
Windows なので大文字・小文字は関係無いと思い込んでいたようです。
お騒がせしました。

450 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 01:11:32 ]
>>434
あっそ∞∞

451 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 13:38:55 ]
java超初心者です。会社のアプリがあって、それを元にいろいろ学習しようとおもったのよ。
6年くらい前のソースでborland.jbclってのが読み込めてなくてエラーでてんだけど、
borland.jbcl ていうパッケージ今ないのかな。JBuilderにはついてたみたいだけど、今のはないんだ。
昔の開発環境を用意しなくちゃならん?

452 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 14:03:33 ]
>>451
とりあえず未経験の素人向け入門書でも手にとってから質問しろやカス

453 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 14:48:24 ]
私女だけどJavaって難しいのね
優しく教えてくれてよろしくてよ?

454 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 15:26:54 ]
age

455 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 19:20:21 ]
上がってないぉ

456 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 19:35:09 ]
クラスローダでバージョンがって話の記事は読んだけど
結局、クラスローダって何するの?



457 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 20:19:30 ]
>>456
名前の通りなんだがな。
javaのクラスを使うために必要なもの。
Class.forName()とかみてみると少しは雰囲気つかめるかもしれない。

458 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 20:20:25 ]
jarってどう使えばいいんでしょう?

459 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 20:22:13 ]
>>457
わかりました。ありがとう

460 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 20:46:23 ]
>>458
ググれカス

461 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 20:51:22 ]
それしか言えない低能乙

462 名前:デフォルトの名無しさん [2009/10/27(火) 21:08:24 ]
javaのファイルをコンパイルして起動する際、
javac(コンパイル)の場合は-classpathを設定しても
現在のディレクトリも探してくれるのに、
java(起動)は-classpathを設定したら
現在のディレクトリも探してくれないんでしょう?
仕様以外に何か理由があるんですか?
すいませんがアドバイスよろしくお願いします。

463 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 21:10:11 ]
仕様です

464 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 21:17:54 ]
>>461
そうか、君はアレに教えてあげるのか。
優しいんだな。
それは俺が悪かったな。

465 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 21:20:14 ]
Javaの列挙型はクラスなんですか?
クラスということは、値型ではなく参照型ということになりますよね。

466 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 21:27:10 ]
その認識で正しい



467 名前:462 mailto:sage [2009/10/27(火) 21:32:04 ]
>>463
やはり仕様なんですね。
アドバイスありがとうございました!

468 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 21:54:00 ]
XML、設定ファイル、プレーンテキストの3種類を扱おうと考えています
そのため、昨日までそれぞれに対応したクラスを作っていました
作っていて気がついたのですが、コンストラクタとpublic Object readFromXXXX(File file){}
2つしかメソッドがないクラスを3つも作ってしまいましたorz

そこで、staticでpublic staic Object readFromXXX(File file){}というのを作って、
ReadUtilsみたいなクラスにまとめようかと考えています

お前らならどう実装しますか?


469 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 21:57:42 ]
>>468
全部同じメソッド名にして interface を作る

470 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 22:04:18 ]
struts+hibernateでダイナミックフォームBeanを直接O/RマッピングのPOJOとして利用することはできますか?

471 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 22:05:02 ]
そんなことはやめろ。

472 名前:468 mailto:sage [2009/10/27(火) 22:15:35 ]
>>469
返答ありがとうございます

インターフェイスを作るのは思いつきませんでした
でも、XML、設定ファイル、プレーンテキストの各種読み込みクラスは
これ以上メソッドの数が増えそうにないのですが....

それでも、>>469だったインターフェイスを選択しますか?

473 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 22:15:45 ]
>>465
もしかしてC#の方で列挙型の質問している人かな。(マルチとは違う意味で)
Javaだと列挙型は後付けだし、プリミティブ型以外全てはクラスで作られてる。

C#の列挙型は列挙されていない整数値でもキャストして代入可能。(MSDNだと「できるけど、やるな!」と明記)
Javaでは整数値じゃないので代入(というよりキャスト)不可。

474 名前:470 mailto:sage [2009/10/27(火) 22:31:58 ]
>>471
すみません。理由を教えて頂けないでしょうか?
普通はFormBean→POJO→DAOの引数へという流れだと思いますが
FormBeanのフィールドとPOJOのものとがまるっきり同じ場合があるの
でFormBean→DAOの引数としても良いのではと思ったのですが。

475 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 22:55:09 ]
DAOの再利用性が画面の制約を受けるようになっちゃうと思うけど。
Dynaなら何でもいいとなるとタイプセーフじゃなくなるって問題もあるし。
そういった点を認識して使う分にはかまわないのでは。

*肝心のhibernateでDynaActionForm使えるかどうかは知らない。

476 名前:470 mailto:sage [2009/10/27(火) 23:18:37 ]
>>475
jsp+servletは勉強し始めたばかりで圧倒的に知識が不足しています。
的外れなことを言っている可能性があるのでご容赦下さい。

DynaActionFormとstruts-config.xmlを使ってXXXFormが自動生成されると認識しています。
うまくO/Rマッピングの設定ができればXXXForm→DBのレコードとなるのでタイプセーフなのではと思います。
ただXXXFormをうまくマッピングできるのかわかってません。

DAOの再利用性で言うとフォームの入力フィールドに影響を受けるので、ご指摘通り問題ですね。
例えばユーザ名を扱うとして、フォームで一つのテキストエリアで行っていたものを、姓と名を分離して入力す
るように変更した場合などは対応できなくなってしまいます。

どうやら止めた方が良さそうですね。ありがとうございました。



477 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:34:57 ]
>>472
なんとなくマジレスすると
この情報だけでinterfaceを導入するなんて考え方するやつは危険

別の責務を持つものを一つのクラスにまとめると
無意味な依存関係が出来上がる

478 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:45:18 ]
Strutsを利用した初期のProjectではDynaActionFormを使うこともあったけど、
そういったプロジェクトについても、リファクタ作業の中で個別のForm実装に置き換えたケースがほとんど。

DynaActionFormはタイプセーフではないです。
Formの値を使うときはDynaActionForm型のインスタンスに対してget("String")のような
属性名を「文字列」として渡す必要があるため、型情報からはどんな属性が存在しているのか知ることはできません。

プロジェクトの規模が大きくなればなるほど、コードがタイプセーフに作られているかどうかが
メンテナンス性を大きく左右する要因になってくると思います。

プレゼンテーションのモデル(Formや画面の表示/入力項目)と
ドメイン層で扱うモデルは明確に分割することを意識しておくのが重要だと思います。
(実際にそのような設計をするかどうかはおいて)






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<235KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef