サーバーサイドJAVAをまたーり語るスレ
■ このスレッドは過去ログ倉庫に格納されています
0317デフォルトの名無しさん
NGNG>別にパラメータ付きタイプがなくても十分にTypeSafeだと思いますが
>(つまり、無効なキャストは例外もしくはエラーで投げられ、捕捉しなければならない)
314も言ってるけど実行時にエラーを補足出来るなんてのは何の意味もない。
ミッションクリティカルなシステムってのはテスト段階ですべてのバグを見つけ出
すことを期待されているのであって、入力データによって発生するかどうかわからない
バグが混入すること避けなければならない。
それにNullPointerやNoSuchMethodやClassCastExceptionは明示的なcatchする
必要はなくJavaの例外明示機能の恩恵は受けていない。
>あるObjectの生成と消滅で一貫性を管理しているのは、あまりお勧めできない。
>それは本来、トランザクションとは一つのServerメモリ空間の状態だけでは
>完結しないため、入力から永続化への一貫した制御が求められる。
わけわからん。トランザクションには必ずbeginとcommit/rollbackがあるわけで
この対を呼び出すのは同じプロセスかつ1つの関数だろう。
>これを一般にはキャストとは言わずWiding,Narrowingと呼ばれます。
>C++ではdynamic_castを用いていますが単一継承ではあまり意味がありません。
Widingが失敗した時にClassCastExceptionが出るわけですが、JDKは一般的な
用語を使用してないということですか?
>>見たいなクラスを作ったときに全体のリコンパイル無しにそのクラスを拡張できる。
>virtual void func() = 0; // を使いましょう。
意味がわかりません。virtual関数の順番を変えたり、メンバ変数を追加したら
リコンパイル必要でしょう?純粋仮想関数がなんの役に立つのですか?
これを防ぐには XXXImplクラスとXXXInterfaceクラスを作ってバイナリ互換を保つこ
とだけど、これをすべてのクラスで行うのは現実的ではないといっているのですが
>Java継承者・C++多重人格者・C#演奏者ですが、なにか?
言語の上っ面だけではなくもっとソフトウェアについて勉強してください
■ このスレッドは過去ログ倉庫に格納されています