2016-12-21 5 views
0

私のコードには4つのメソッドがあり、すべてのメソッドが単一メソッドを呼び出しています。重複したメソッド呼び出しを避けるために、私はグローバル変数を作成し、そこにメソッドの結果を格納しました。私はそれが良い考えではないと言われました。私たちにこれのための他の選択肢がありますか?グローバル変数を作成してメソッド呼び出しを減らす

public void initializePortletData(PortletRequest request, PortletResponse portletResponse, Model model) { 
     model.addAttribute(TABLE, test(request)); 
    } 

    public void getInvitedUsers(PortletRequest request, PortletResponse response, Model model) { 
     model.addAttribute(TABLE, test(request)); 
    } 

    @Override 
    public Map getJSParams(PortletRequest request, ModelAndView modelAndView) { 
     Map<String, Object> model = new HashMap<>(); 

      model.put(TABLE, test(request)); 

     return model; 
    } 

答えて

0

場合によっては、メソッドが返す前にいくつかのクラス変数を設定している可能性があります。次回メソッドが呼び出されたときに、この値を戻します。

+0

私はこれを実行しましたが、同時実行の問題が発生すると言われました –

+0

変数に多くの情報を保存すると、変数が多数のスレッドからアクセスされ、並行処理が処理されないと同時実行の問題が発生する可能性があります。コードをそのまま残すか、何らかの形で並行性の問題を解決することができます。 Javaのsynchonizeメソッドを見てください。 – Bear

関連する問題