Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Расширение функционала / 9 сообщений из 9, страница 1 из 1
30.06.2012, 10:14:00
    #37861411
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расширение функционала
В конструктор класса передавал значение enum A

Example enum A
Код: java
1.
2.
3.
4.
5.
public enum A{
A1,
A2,
A3
}



Далее начитывал rest collection, и в зависимости от значения enum A - находил нужную мне информацию в данной коллекции.

Сейчас планируется расширение rest collection (большее ссылок для начитки => на каждую коллекцию свой enum). И число значений в каждом новом enum будет свое.

Переопределение конструктор - думаю не самое лучше решение. Есть ли более элегантное решение поддержки данного функционала?
...
Рейтинг: 0 / 0
30.06.2012, 13:07:26
    #37861468
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расширение функционала
А можно ли как-нибудь в значениии enum обяъвить другой enum?
...
Рейтинг: 0 / 0
30.06.2012, 13:34:57
    #37861483
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расширение функционала
Известный дядька Блох рекомендует в таких случаях делать несколько энумов, которые имплементят один и тот же интерфейс. В общем случае экстендить энумы невозможно и неправлославно.
...
Рейтинг: 0 / 0
30.06.2012, 15:32:33
    #37861551
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расширение функционала
Уже понял....

Дошел до следущего

EnumMap<CommonEnum,Enum1...Enum2>

Такой вообще релаьон реализовать? Те второй параметр любой enum?
...
Рейтинг: 0 / 0
30.06.2012, 16:27:17
    #37861594
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расширение функционала
-=Koba=-Уже понял....

Дошел до следущего

EnumMap<CommonEnum,Enum1...Enum2>

Такой вообще релаьон реализовать? Те второй параметр любой enum?

Вернее не так выразился передовать через object второй, а потом как проводить анализ?

через ступеньку if else if ....?
...
Рейтинг: 0 / 0
30.06.2012, 21:16:41
    #37861771
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расширение функционала
-=Koba=-Переопределение конструктор - думаю не самое лучше решение. Есть ли более элегантное решение поддержки данного функционала?
тебе виднее, но если расширение не так часто, то изменение конструктора лучше (читабельность и понятность кода выше), чем вообще сведение всех входных параметров в один refObject
...
Рейтинг: 0 / 0
04.07.2012, 12:11:57
    #37865792
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расширение функционала
Petro123,

Сделал по другому - думаю паттерн стратегия, надо применять

для

Вернее не так выразился передовать через object второй, а потом как проводить анализ?

через ступеньку if else if ....?

Может есть более элегантное решение, потому, что расширения для списка идут бльшие
...
Рейтинг: 0 / 0
04.07.2012, 12:24:51
    #37865830
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расширение функционала
Покажите проблему шире. Подзадача с enum'ами и коллекциями часть какой задачи?
...
Рейтинг: 0 / 0
04.07.2012, 13:16:50
    #37865918
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расширение функционала
LeonidvПокажите проблему шире. Подзадача с enum'ами и коллекциями часть какой задачи?


Делаю связку

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
  public TypeDictionaryTest() {
    if (INSTANCE == null) {
      INSTANCE = this;
    }
    enumData.put(DictionaryType.InnerDoc, InnerDictionaryData.class);
    enumData.put(DictionaryType.ORDDoc, ORDDictionaryData.class);
    enumData.put(DictionaryType.InputDoc, InputDictionaryData.class);
    enumData.put(DictionaryType.OutputDoc, OutputDictionaryData.class);
  }



Первый это значние из enum, второй са enum? что ему соответствуют

Как далее провести анализн, какой объект мне пришел
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  public String getDictionariesHref(DictionaryType dictionaryType) {
    Object data = enumData.get(dictionaryType);
    // switch (data.) {
    // case value:
    //
    // break;
    //
    // default:
    // break;
    // }
    r




private final EnumMap<DictionaryType, Object> enumData = new EnumMap<DictionaryType, Object>(DictionaryType.class);
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Расширение функционала / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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