フロントコントローラーとして機能するJavaサーブレットを作成しています。機能を実行するために、私はドメインコマンドパターンを使用しています。現在、私はすべてのコマンドを初期化して、コマンドの名前(文字列)をキーとして、オブジェクトを値としてマップに格納しています。サーブレットが要求を受信するたびに、私は、指定したURLからコマンドクエリを渡すことにより、マップからコマンドを取得する:コンパイルと実行時のサーブレットとコマンドパターン?
// at init
Hashmap<String, DomainCommand> commands = new Hashmap<String, DomainCommand>();
commands.put("someCommand", new SomeCommand());
// at request
String command = request.getParameter("command");
DomainCommand c = commands.get(command);
c.execute();
これがうまく機能し、私のDomainCommandsは何のクラスはスレッド間で共有される属性がなかったので、私が何をしたいん。これに代わる方法は、反射を使用してオブジェクトを作成することです。
これらの両方が機能します。パフォーマンス/メモリ節約の観点からどれが良いでしょうか?
これは学校プロジェクトなので、ほとんどの機能を自分で実装する必要がありますが、これは私の質問にお答えします。 –