2016-12-21 8 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

Сохранение любой информации в переменной может потенциально вызвать проблемы параллелизма, если переменная доступна из многих потоков, а параллелизм не обрабатывается. Вы можете оставить код как есть или решить проблему параллелизма. Посмотрите на метод synchonize в Java. – Bear