「意図しない入力です。」よりも「生年月日には数値を入力してください。」のようにしたり、「現在、要求を受理できませんでした。」よりも可能であれば「3時間以内に復帰する予定です。」のようにしたほうがよい。デザインパターンの考え方デザインパターンは、ロール(役割)の相互作用を表している。相互作用におけるロール(役割)は、抽象クラスで定義します。ロールの考え方を突き詰めていくと、「役割場(やくわりば)とその重ね合わせによるシステムの合成」という考え方に行き着きます。『ソフトウェアの匠』アプリケーションサービスレイヤーの設計方法ソフトウェアアーキテクチャを設計する場合、サービスレイヤーのコンポーネントを、「チャネルサービス」、「ユースケースサービス」、「汎用サービス」の3段階に分けると良い。チャネルサービスは、コンポーネントのクライアントに対して開かれるインターフェースを定義する段階です。HTTPクライアントやSOAPクライアントに対するインターフェース等を定義します。ユースケースサービスは、ユースケース特有のロジックを定義する段階です。汎用サービスは、共通のロジック例えばログの出力や帳票出力などを定義する段階です。チャネルサービス、ユースケースサービス、汎用サービスはそれぞれ下に依存します。26』サーブレットコンテキスト名はプログラムから取得するべしJSPでリンクでサーブレットに飛ばす場合に、サーブレットコンテキスト名を付けなければならない場合がある。このとき、コンテキスト名をべた書きしてしまうと、コンテキスト名が変更になった場合にすべてのJSPを変更しなければならない。書くことで、コンテキスト名が取得できるので、JSPではできるだけこの方法でコンテキスト名を取得するようにする。JBuilderでカスタムserver.xmlを使う方法JBuilderでTomcatを使う場合、server.xmlが自動で生成され、サーバーをシャットダウンすると削除されてしまいます。comment.--&gt;を削除すればよいとのこと。(英語)』コメントは道路標識の警告のように使うプログラムに記述するコメントは、道路標識の警告(例:この先急カーブ)のように使う。コメントが多いプログラムは、そこらじゅうに注意書きがある本のように読みにくいもの。できるだけわかりやすく書き、コメントは道路で突然の急カーブを警告するためだけに用いられる矢印標識のように使う。プログラムは、人々がそれを読むために書かれるべきである。それが計算機(コンパイラ)で実行できるにすぎない。返すようにすると、メソッドチェーンが行いやすい。Builderクラスはこの恩恵が受けやすい。.setChild(ChildClass.class)Webアプリケーション内で使われるビジネスロジックはスレッドセーフにする必要があるWebアプリケーションはリクエストをスレッドで処理するようになっています。そのため、マルチスレッドを意識してプログラミングを行わなければなりません。ビジネスロジック層のクラスにおいても、実装はマルチスレッドを意識しなければなりません。アプリケーションレベルで共有されるオブジェクトや、セッションに格納されるオブジェクトは特に意識しなければなりません。セッションに格納されるオブジェクトをなぜスレッドセーフにしなければならないのか?それは、同じユーザセッションを持つスレッドが複数存在する可能性があるからです。Submitボタンを二度押された場合、リクエストが二度発行されることになります。このとき、同一セッションIDを持つスレッドが複数存在することになります。Webアプリケーションはスレッドを意識するする必要があるWebアプリケーションと言うのは、いろんなところに注意しなければなりません。マルチスレッドもしかり、セキュリティもしかりです。マルチスレッドプログラミングをちゃんと勉強しておく必要がありそうです。