powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Overloaded methods vs Strategy pattern ?
4 сообщений из 4, страница 1 из 1
Overloaded methods vs Strategy pattern ?
    #38701214
Mr.Genius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Есть простой вопрос по дизайну, не могу понять как мне лучше поступить.. то ли применять Стратегию и создать несколько классов, то ли забить и использовать простую перегрузку методов.

В общем, имеется интерфейс:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
public interface Client {

  int method1();

  int method2();

  int method3();

}



Его имплементация:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
public class ClientImpl implements Client {

  public ClientImpl() {
    ...
    // здесь в конструкторе некоторые дорогие операции по созданию требующихся инстансов
    ... 
  }

  @Override
  public int method1() { 
    ... 
    internalMethod(сигнатура_1)
    ...
  }
 
  @Override
  public int method2() { 
    ... 
    internalMethod(сигнатура_1)  
    ...
  }

  @Override
  public int method3() { 
    ... 
    internalMethod(сигнатура_2)
    ...
  }

  private void internalMethod(сигнатура_1) { 
    ...  
    helper();
    ...
  }

  private void internalMethod(сигнатура_2) { 
    ... 
    helper();
    ...
  }

  private void helper() {
    ...
    //здесь запускается дальнейшая цепочка мелких методов, но это не так важно
    ...
  }

}



Получается, в одном классе будут два перегруженных метода с различной сигнатурой...

Нормальный ли у меня получился дизайн ?

Покритикуйте его, пожалуйста. И предложите, по возможности, свои варианты.


Спасибо заранее всем!
...
Рейтинг: 0 / 0
Overloaded methods vs Strategy pattern ?
    #38701767
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то ты намудрил с хелперами и интернал-методами. Они к стратегии не имеют никакого
отношения. Они просто не входят в это паттерн. Но никто тебе и не запрещает внутри
имплементации использовать вообще произвольную логику.

Но возможно у тебя есть вложенная стратегия. Тогда интернал-методы надо тоже
описать через паттерн и контекст инициализировать двумя стратегиями. Внешней.
И внутренней.
...
Рейтинг: 0 / 0
Overloaded methods vs Strategy pattern ?
    #38701775
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.Genius,

Первое что хочу заметить. В GoF четко описано какие проблемы решает паттерн. У вас есть эти проблемы? Если, нет, то и решать, их, вероятно, не нужно. GoF сам по себе переоценен. Это лишь учебник для понимания что такое паттерны как их распознавать и где их применять. Гораздо важнее понимать такие основы кодирования как KISS, SOLID, DRY и GRASP.

Судя по классам, вам так же стоит ознакомиться с паттернами помимо GoF
http://martinfowler.com/articles/enterprisePatterns.html
http://www.corej2eepatterns.com/
...
Рейтинг: 0 / 0
Overloaded methods vs Strategy pattern ?
    #38701790
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.GeniusНормальный ли у меня получился дизайн ?
дизайн для чего? Получить коллекцию разных классов?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Overloaded methods vs Strategy pattern ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]