2016-12-02 8 views
1

私はサーブレットとJSPでWebアプリケーションを持っています。今私はそれのいくつかのサービスメソッドにいくつかの追加機能を追加する必要があります。これらの変更が必要なサービス方法は、異なるサーブレットからのものです。既存のメソッドにadditinal機能を追加する

その他の機能は次のとおりです。

  1. コア機能の前にステータスを検証しています。
  2. それぞれのユーザーに、そのプロセスの正常終了を通知します。

どのようにこれらの機能性を既存のコードに最小限のオーバーヘッドで注入できますか? 私は春のAOPがここで助けることができると思いますが、この機能のために既存のアプリケーションでSpringを使用できません。

また、デコレータパターンを使用しようとしましたが、各サービスクラスに複数のメソッドが含まれているため、共通インタフェースがないため表示できませんでした。

この変更をよりうまく処理する方法を教えてもらえますか?また それらのための共通のインタフェースが存在しない、

+0

Springを使用することができず、単純なサーブレットプロジェクトの場合、おそらくフィルタを書くことができますか?これらをweb.xmlで設定することができます。つまり、リクエストごとにいくつかのコードを実行することができます。 http://www.oracle.com/technetwork/java/filters-137243.htmlを参照してください。 – BretC

答えて

0

はまた、Decoratorパターンを使用しようとしましたが、私は、各サービス クラスには、複数のメソッドが含まれていることができなかったとして。

あなたは、サービス・インターフェースに問題があるときにベストフィットですAdapterパターンを使用することができますは共通インターフェースがないことを示すとおりです。基本的に、アダプターは、共通インターフェースなしで2つのサービスと対話するのに役立ちます。既存のサービスを呼び出すことによって、追加の機能(ステータスの検証と各ユーザーへの通知など)を処理するアダプタ(レイヤー)を作成できます。以下

アダプタパターンためのウィキペディアの定義である:

アダプタパターン インターフェイスを可能にすること(また ラッパー、Decoratorパターンと共有代替ネーミングとしても知られる)デザインパターンであります他の インターフェイスとして使用される既存のクラスの既存のクラスをソースコードを変更することなく他の人達と協力させるためによく使われます。

関連する問題