- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
configRequestTasks = new ConfigRequestRepeatingTask[]{
new ConfigRequestRepeatingTask<ApplicationStateModel.ApplicationState>(this) {
@Override
protected BaseConfigRequest<ApplicationStateModel.ApplicationState> createRequest() {
return new ApplicationStateRequest();
}
@Override
public ObjectSetting<ApplicationStateModel.ApplicationState> getConfigSetting() {
return Config.ApplicationState;
}
},
new ConfigRequestRepeatingTask<MessagesConfigurationModel.MessagesConfiguration>(this) {
@Override
protected BaseConfigRequest<MessagesConfigurationModel.MessagesConfiguration> createRequest() {
return new MessagesConfigurationRequest();
}
@Override
public ObjectSetting<MessagesConfigurationModel.MessagesConfiguration> getConfigSetting() {
return Config.MessagesConfiguration;
}
},
new ConfigRequestRepeatingTask<HandsetConfigurationModel.FeatureConfiguration>(this) {
@Override
protected BaseConfigRequest<HandsetConfigurationModel.FeatureConfiguration> createRequest() {
return new FeatureConfigurationRequest();
}
@Override
public ObjectSetting<HandsetConfigurationModel.FeatureConfiguration> getConfigSetting() {
return Config.FeatureConfiguration;
}
},
new ConfigRequestRepeatingTask<FeaturesDetailsModel.FeaturesDetails>(this) {
@Override
protected BaseConfigRequest<FeaturesDetailsModel.FeaturesDetails> createRequest() {
return new FeaturesDetailsRequest();
}
@Override
public ObjectSetting<FeaturesDetailsModel.FeaturesDetails> getConfigSetting() {
return Config.FeaturesDetails;
}
},
new ConfigRequestRepeatingTask<GeoFenceConfigurationModel.GeoFenceConfiguration>(this) {
@Override
protected BaseConfigRequest<GeoFenceConfigurationModel.GeoFenceConfiguration> createRequest() {
return new GeoFenceConfigurationRequest();
}
@Override
public ObjectSetting<GeoFenceConfigurationModel.GeoFenceConfiguration> getConfigSetting() {
return Config.GeoFenceConfiguration;
}
},
...
Вот так мы создаем "очередь" запросов. И это только треть.
Анонимус 04.12.2014 02:22 # +2
Вынесите хотя бы в XML через Spring: все будет читабельнее
roman-kashitsyn 04.12.2014 10:39 # +2
Акститесь
> язвы от отсутствия лямбд
Кмк, тут проблема скорее в "гибкой рахитектуре"(tm), которую так любят ваять на ровном месте типичные жаболюбы.
Анонимус 04.12.2014 14:03 # +2
Да, XML это БОЛЬНОСЛОЖНОИНТЕРПРАЙЗНЕНУЖНО, и пофиг что IDE его прекрасно поддерживают. IDE это тоже БОЛЬНОСЛОЖНОИНТЕРПРАЙЗНЕНУЖНО. Писать нужно в блокноте и многобуквенно.
>>которую так любят ваять на ровном месте типичные жаболюбы
Да, фабрика стратегий которую видимо пытался реализовать автор тоже БОЛЬНОСЛОЖНОИНТЕРПРАЙЗНЕНУЖНО. Нужно в сорока местах написать одинаковый "иф"
roman-kashitsyn 04.12.2014 14:08 # +3
Анонимус 04.12.2014 14:13 # 0
3.14159265 04.12.2014 14:17 # +3
К сожалению на свете живет огромное количество программистов, не осиливших три основополагающих принципа разработки ПО:
DRY, KISS, YAGNI.
roman-kashitsyn 04.12.2014 14:20 # +5
guest 05.12.2014 20:57 # +1
>лямбды
Ясно. Давно болеете?
3.14159265 04.12.2014 12:05 # +2
Щито?
Так пишут не от отсутствия лямбд, а от отсутствия мозга. И неумения основ процедурного программирования.
Пишем метод (ОДИН РАЗ!)
Ваша проблема в том что, есть молоток — лямбды, и всё вокруг стаёт казаться гвоздями. Хотя мне непонятно как тут вообще можно их применить с пользой.
Анонимус 04.12.2014 14:01 # 0
3.14159265 04.12.2014 14:04 # 0
Не пойдёт. Это "что-то" можно сделать и вне метода, и передать результат в create параметром.
Не вижу проблемы.
Анонимус 04.12.2014 14:06 # 0
И похерить всю фабрику стратегий и породить спагетти и говнокод, ок
3.14159265 04.12.2014 14:12 # +3
Ну какие спагетти? Какие ifы? Что вы такое интересное рассказываете?
Анонимус 04.12.2014 19:19 # 0
http://sourcemaking.com/refactoring/replace-conditional-with-polymorphism
TeTroTro 04.12.2014 19:14 # 0
kyzi007 08.12.2014 12:20 # 0
guest 05.12.2014 17:24 # 0
bormand 05.12.2014 18:21 # +1
Пи уже убежал. Читай тред выше.
wvxvw 04.12.2014 09:49 # 0
bormand 04.12.2014 10:33 # 0
Возможно вы имели в виду наблюдателя аля observer?
bormand 04.12.2014 10:48 # 0
wvxvw 04.12.2014 17:44 # 0
и т.д.
Lure Of Chaos 04.12.2014 11:42 # 0