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

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

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

Код: 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
21.07.2014, 12:08
    #38701767
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Overloaded methods vs Strategy pattern ?
Что-то ты намудрил с хелперами и интернал-методами. Они к стратегии не имеют никакого
отношения. Они просто не входят в это паттерн. Но никто тебе и не запрещает внутри
имплементации использовать вообще произвольную логику.

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

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

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


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