powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / methods
42 сообщений из 42, показаны все 2 страниц
methods
    #33969675
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть интерфейс в котором за 50 методов
Есть метод в котором нужно в зависимости он заданной строки выбрать какой из методов того интерфейса нужно запустить
Есть ли более изящное(простое) решение чем использование рефлекшена?
...
Рейтинг: 0 / 0
methods
    #33969914
mozheyko_d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что сложного в reflection?
...
Рейтинг: 0 / 0
methods
    #33969970
Евгений Путилин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINUXERЕсть интерфейс в котором за 50 методов
Есть метод в котором нужно в зависимости он заданной строки выбрать какой из методов того интерфейса нужно запустить
Есть ли более изящное(простое) решение чем использование рефлекшена?
if ... else if ...
НУ остальное уже извращения можно например используя ClassLoader переписывая байт код загружать класс которы будет звать нужный метод.
...
Рейтинг: 0 / 0
methods
    #33969972
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
if () {
} else if () {
} else if () {
...
...
Рейтинг: 0 / 0
methods
    #33970023
mozheyko_d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Путилин LINUXERЕсть интерфейс в котором за 50 методов
Есть метод в котором нужно в зависимости он заданной строки выбрать какой из методов того интерфейса нужно запустить
Есть ли более изящное(простое) решение чем использование рефлекшена?
if ... else if ...
НУ остальное уже извращения можно например используя ClassLoader переписывая байт код загружать класс которы будет звать нужный метод.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
...
     public   void  runMethod(String className, String methodName, Object parameter)  throws   
          СlassNotFoundException, IllegalAccessException, InvocationTargetException, 
          NoSuchMethodException, InstantiationException {
                
         Class  theClass =  Class .forName(className);
        
        Object theObject = theClass.newInstance();
        
        Method theMethod = theClass.getMethod(methodName, parameter.getClass());
        
        theMethod.invoke(theObject, parameter);
        
    }
...

где ифы? ;-)
...
Рейтинг: 0 / 0
methods
    #33970215
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mozheyko_d...
где ифы? ;-)
ифы были предложены как альтернатива рефлекшну.
есле кто не понял.
...
Рейтинг: 0 / 0
methods
    #33970267
???
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mozheyko_d
public void runMethod(String className, String methodName, Object parameter )
...
Method theMethod = theClass.getMethod(methodName, parameter.getClass() );

theMethod.invoke(theObject, parameter );
...


а если количество параметров разное, и среди них есть int и float?
...
Рейтинг: 0 / 0
methods
    #33970322
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mozheyko_dгде ифы? ;-)

Ой, а что это за 512 эксепшинов лезут из мега простого метода?
А как докапаться до эксепшина реально произошедшего в вызываемом методе?
А как искать ошибки если изменится сигнатура одного из 50 методов?
Откуда возьмуться Object[] params?

Очень изящно...

LINUXER
Есть интерфейс в котором за 50 методов
Есть метод в котором нужно в зависимости он заданной строки выбрать какой из методов того интерфейса нужно запустить
Есть ли более изящное(простое) решение чем использование рефлекшена?


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

Код: plaintext
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.
 class  BaseHandler {
       private  String name;
      BaseHander(String name){  this .name = name;}
       public  String getName(){ return  name};
      
       abstract   void  handle();

       private   static  HashMap<String, BaseHandler> map =  new  HashMap<String, BaseHandler>();
       public   final   static   void  registerHandler(BaseHandler handler) {
             map.put(handler.getName(), handler);
      } 

       public   final   static  BaseHandler getHandler(String name){
             return  map.get(name); //todo: учесть ситуацию, когда не существует обработчика для name 
      }
}


 class  XXXHandler  extends  BaseHandler {
       void  handle() {
            System.out.println("Preved");
      }
}

//Инициализация. В принципе можно разместить в статическом блоке класса BaseHandler
BaseHandler.registerHandler( new  XXXHandler());
...

//usage       
String s = ...;
BaseHandler.getHandler(s).handle();
      

Наличии различных сигнатур у методов усложняет ситуацию.
Один из вариантов заключается в передаче в метод handle экземпляра класса ака provider/context позволяющего получить все необходимые параметры (в любом из 50 методов). Тут всё зависит от конкретной ситуации.

Код: plaintext
1.
2.
String s = ...;
BaseHandler.getHandler(s).handle( new  Context(....));
...
Рейтинг: 0 / 0
methods
    #33970341
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
??? mozheyko_d
public void runMethod(String className, String methodName, Object parameter )
...
Method theMethod = theClass.getMethod(methodName, parameter.getClass() );

theMethod.invoke(theObject, parameter );
...


а если количество параметров разное, и среди них есть int и float?

Параметры в методе Invoke передаются в массиве типа Object[], поэтому их может быть любое количество, при этом вместо примитивных типов передаются классы оболочки (Integer, Float) (но в getMethod() при описании типов параметров нужно использовать int.class/float.class).
...
Рейтинг: 0 / 0
methods
    #33970439
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
патч...
Код: plaintext
1.
2.
3.
4.
5.
6.
 class  XXXHandler  extends  BaseHandler {
      XXXHadler() { super ("xxx")}
       void  handle() {
            System.out.println("Preved");
      }
}
...
Рейтинг: 0 / 0
methods
    #33970468
???
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUs
в getMethod() при описании типов параметров нужно использовать int.class/float.class


а можно пример для методов:

doA(int a, String b, float c);
doB(int a, String b, Float c, Integer d);
...
Рейтинг: 0 / 0
methods
    #33970683
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
???
а можно пример для методов:

doA(int a, String b, float c);
doB(int a, String b, Float c, Integer d);

Код: plaintext
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.
 import  java.lang.reflect.Method;
 import  java.lang.reflect.InvocationTargetException;

 public   class  Test {

    //1.4
     public   static   void  main(String[] arg)  throws  NoSuchMethodException, IllegalAccessException, InvocationTargetException {

        Test test =  new  Test();

        Method methodA = test.getClass().getDeclaredMethod("doA",  new   Class []{ int . class , String. class ,  float . class });
        methodA.invoke(test,  new  Object[]{ new  Integer( 1 ), "Petya",  new   Float ( 3 . 5 )});

        Method methodB = test.getClass().getDeclaredMethod("doB",  new   Class []{ int . class , String. class ,  Float . class });
        methodB.invoke(test,  new  Object[]{ new  Integer( 1 ), "Petya",  new   Float ( 3 . 5 )});

    }

    //1.5
     public   static   void  main(String[] arg)  throws  NoSuchMethodException, IllegalAccessException, InvocationTargetException {

        Test test =  new  Test();

        Method methodA = test.getClass().getDeclaredMethod("doA",  int . class , String. class ,  float . class );
        methodA.invoke(test,  1 , "Petya",  3 .5f);

        Method methodB = test.getClass().getDeclaredMethod("doB",  int . class , String. class ,  Float . class );
        methodB.invoke(test,  1 , "Petya",  3 .5f);

    }

     void  doA( int  a, String b,  float  c) {
        System.out.println("doA:" + a + " " + b + " " + c);
    }

     void  doB( int  a, String b,  Float  c) {
        System.out.println("doB:" + a + " " + b + " " + c);
    }
}

"Integer d" h/w.
...
Рейтинг: 0 / 0
methods
    #33970718
mozheyko_d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUs
...
Ой, а что это за 512 эксепшинов лезут из мега простого метода?


это просто пример:)
NotGonnaGetUs
А как докапаться до эксепшина реально произошедшего в вызываемом методе?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
catch (InvocationTargetException e) {

    if (e.getCause() != null) {

        throw e.getTargetException();

    }

}

NotGonnaGetUs
А как искать ошибки если изменится сигнатура одного из 50 методов?

Проблема проектирования
NotGonnaGetUs
Откуда возьмуться Object[] params?


ну это пример для одного параметра, можно массив передать.

NotGonnaGetUs
Очень изящно...
...


ага, мне тоже нравится
...
Рейтинг: 0 / 0
methods
    #33970742
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUsлучше заменить один класс с 50 методами, на 50 классов
Думаю это в любом случае не оправдано :D
...
Рейтинг: 0 / 0
methods
    #33970808
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mozheyko_d NotGonnaGetUs
...
Ой, а что это за 512 эксепшинов лезут из мега простого метода?


это просто пример:)


Вот я и предлагаю дописать этот "простой" пример до готового решения и прикинуть, чем он лушче if-ов.

mozheyko_d
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
catch (InvocationTargetException e) {

    if (e.getCause() != null) {

        throw e.getTargetException();

    }

}


Во первых бедные checked exception's стали unchecked,
а во вторых, не забываешь дописываешь "изящное решение" до рабочего состояния?

mozheyko_d
NotGonnaGetUs
А как искать ошибки если изменится сигнатура одного из 50 методов?

Проблема проектирования

Ага. Называется "использование рефлекшина" и создана "изящным решением".


mozheyko_d
NotGonnaGetUs
Откуда возьмуться Object[] params?


ну это пример для одного параметра, можно массив передать.

Ещё раз. Откуда возмётся значение для этого параметра?
Не будет ли оно создаваться в тех же if-ах, от которых "изящное решение" должно было избавить?

mozheyko_d
NotGonnaGetUs
Очень изящно...
...

ага, мне тоже нравится
Главное - это взаимопонимание :)
...
Рейтинг: 0 / 0
methods
    #33970811
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINUXER NotGonnaGetUsлучше заменить один класс с 50 методами, на 50 классов
Думаю это в любом случае не оправдано :D

Чем 50 if else лучше?
...
Рейтинг: 0 / 0
methods
    #33970880
???
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mozheyko_d ну это пример для одного параметра, можно массив передать.
NotGonnaGetUs
вот и хотелось увидеть как будет выглядеть метод " public void runMethod(... " для таких методов

doA(int a, String b, float c);
doB(int a, String b, Float c, Integer d);
...
Рейтинг: 0 / 0
methods
    #33971076
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
??? mozheyko_d ну это пример для одного параметра, можно массив передать.
NotGonnaGetUs
вот и хотелось увидеть как будет выглядеть метод " public void runMethod(... " для таких методов

doA(int a, String b, float c);
doB(int a, String b, Float c, Integer d);

Тот пример, что я привёл не подвластен зрению?

http://sql.ru/forum/actualpost.aspx?bid=38&tid=335342&mid=3105053&p=1&act=quot#3104714
...
Рейтинг: 0 / 0
methods
    #33971187
???
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUsТот пример, что я привёл не подвластен зрению?

)))

в примере явное указание типов int.class, String.class, float.class. А как все это будет runMethod(String className, String methodName, Object[] parameter) разбирать?
...
Рейтинг: 0 / 0
methods
    #33971199
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
??? NotGonnaGetUsТот пример, что я привёл не подвластен зрению?

)))

в примере явное указание типов int.class, String.class, float.class. А как все это будет runMethod(String className, String methodName, Object[] parameter) разбирать?

Очевидно, что никак не будет. Кроме methodName и Object[] нужно передавать Class[].
...
Рейтинг: 0 / 0
methods
    #33971510
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUs[quot ???][quot NotGonnaGetUs]
Очевидно, что никак не будет. Кроме methodName и Object[] нужно передавать Class[].

На кой хер если class[] можно получить из объектов которые находятся в Object[]?
...
Рейтинг: 0 / 0
methods
    #33971544
???
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczclass[] можно получить из объектов которые находятся в Object[]
можно, только почему-то у меня так: кладу в Object[] (int, float), получаю (Integer, Float), где засада?

Ваш код в студию...
...
Рейтинг: 0 / 0
methods
    #33971625
mozheyko_d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
???[quot Blazkowicz]
...
кладу в Object[] (int, float)
...


Ого.
Это как так?
Может отрабатывает приведение типов?
...
Рейтинг: 0 / 0
methods
    #33971689
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz NotGonnaGetUs[quot ???][quot NotGonnaGetUs]
Очевидно, что никак не будет. Кроме methodName и Object[] нужно передавать Class[].

На кой хер если class[] можно получить из объектов которые находятся в Object[]?
Чтобы не заморачиваться с примитивными типами. Выше уже говорили.
...
Рейтинг: 0 / 0
methods
    #33972034
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz NotGonnaGetUs[quot ???][quot NotGonnaGetUs]
Очевидно, что никак не будет. Кроме methodName и Object[] нужно передавать Class[].

На кой хер если class[] можно получить из объектов которые находятся в Object[]?

Это можно сделать, только если в методе нет аргументов простых типов (int, etc).

О чём, собственно, уже написали...
...
Рейтинг: 0 / 0
methods
    #33972244
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mozheyko_d ???[quot Blazkowicz]
...
кладу в Object[] (int, float)
...


Ого.
Это как так?
Может отрабатывает приведение типов?

Автобоксинг наверное.
...
Рейтинг: 0 / 0
methods
    #33972248
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timm Blazkowicz
На кой хер если class[] можно получить из объектов которые находятся в Object[]?
Чтобы не заморачиваться с примитивными типами. Выше уже говорили.

Блин и точно ведь лажа.
...
Рейтинг: 0 / 0
methods
    #33972267
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUs Blazkowicz
На кой хер если class[] можно получить из объектов которые находятся в Object[]?

Это можно сделать, только если в методе нет аргументов простых типов (int, etc).

О чём, собственно, уже написали...

Честно говоря не предствляю практической ценности интерфейса у которого есть оверлоады различающиеся только прмитивом или враппером. Так что, ИМХО, в подавляющем большинстве случаев можно применить это допущение.
...
Рейтинг: 0 / 0
methods
    #33972303
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пораскинул мозгами. Вот какая версия родилась.
Создаем собствеенную аннотацию. Над каждым методом прописываем её с нужной строкой.

Потом запускаем цикл, котороый перебирает все методы заданного интерфейса. У каждого метода получаем значение аннотации. И складываем в мапу Map<String, Method>.

Ну, а после инициализации вытаскиваем по строке метод и инвок его к чертовой бабушке. Вроде бы вопросов с примитивами возникнуть не должно.

Как вам вариант?
...
Рейтинг: 0 / 0
methods
    #33972322
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
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.
 public   interface  Facade
{
    @Action("DoA")
     public   Float  doA( int  i);
    @Action("DoB")
     public   Float  doB( Double  d);
}



@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
 public  @ interface  Action
{
    String value();
}


 public   class  Invoker
{
     static   final  Map<String, Method> map =  new  HashMap<String, Method>();
     static 
    {
        Method[] declaredMethods = Facade. class .getDeclaredMethods();
         for  (Method method : declaredMethods)
        {
            Action action = method.getAnnotation(Action. class );
            map.put(action.value(), method);
        }
    }
    Object invoke(String action, Object target, Object... args)  throws  IllegalAccessException, InvocationTargetException
    {
         return  map.get(action).invoke(target, args);
    }
}


...
Рейтинг: 0 / 0
methods
    #33972330
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mozheyko_d
NotGonnaGetUs
А как искать ошибки если изменится сигнатура одного из 50 методов?

Проблема проектирования

Это зависит от того кто является инициатором запроса к методу. Как вариант для клиент сервера можно использовать один и тот же интерфейс на клиенте и сервере. Тогда будет гарантия что у них одни и те же параметры. А вот внутренности между этими двумя уже будут заниматся всякой нужной ерундой. В любом случае на этот вопрос можно ответить только зная для чего всё это городится.
...
Рейтинг: 0 / 0
methods
    #33972332
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINUXERЕсть интерфейс в котором за 50 методов
Есть метод в котором нужно в зависимости он заданной строки выбрать какой из методов того интерфейса нужно запустить
Есть ли более изящное(простое) решение чем использование рефлекшена?

Если не секрет можно расказать какая среда у этой задачи? Какую проблему эта реализация должна решать? Проблему в реальном мире а не абстракцию связывания строки и метода.
...
Рейтинг: 0 / 0
methods
    #33972349
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Blazkowicz
КРрасиво.
ИМХО это хуже чем решение "в лоб": аннотации надо поддерживать (и JVM-ой, и в коде)...
...
Рейтинг: 0 / 0
methods
    #33972904
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz LINUXERЕсть интерфейс в котором за 50 методов
Есть метод в котором нужно в зависимости он заданной строки выбрать какой из методов того интерфейса нужно запустить
Есть ли более изящное(простое) решение чем использование рефлекшена?

Если не секрет можно расказать какая среда у этой задачи? Какую проблему эта реализация должна решать? Проблему в реальном мире а не абстракцию связывания строки и метода.
Природа задачи весьма абстрактна. Мне казалось это будет совсем просто.
На практике встречался с подобными задачи например проверка форм (веб-интерфейса БД) перед формированием объектов (с последуйщей отправкой в базу):
туча сеттеров хотя проверка однотипна
...
Рейтинг: 0 / 0
methods
    #33972911
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUs LINUXER NotGonnaGetUsлучше заменить один класс с 50 методами, на 50 классов
Думаю это в любом случае не оправдано :D

Чем 50 if else лучше?
Хуже. Портит инкапсуляцию и вообще бардак.
...
Рейтинг: 0 / 0
methods
    #33973359
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINUXER NotGonnaGetUs LINUXER NotGonnaGetUsлучше заменить один класс с 50 методами, на 50 классов
Думаю это в любом случае не оправдано :D

Чем 50 if else лучше?
Хуже. Портит инкапсуляцию и вообще бардак.

А почему тогда "не оправдано"?

С аннотациями, кстати, отпадает необходимость в создании классов, но при этом сохраняется идея универсализации процедуры поиска метода по строке.
(нужно только изменить сигнатуру слегка: Object invoke(String action, Facade target, Object... args))
Сказочные перспективы открываются :)
...
Рейтинг: 0 / 0
methods
    #33973718
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUs
А почему тогда "не оправдано"?


Блин, в смысле, конечно, if else лучше такого изврата,
ещё лучше простой reflection как в первом варианте(в простых случаях)
...
Рейтинг: 0 / 0
methods
    #33973743
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINUXER NotGonnaGetUs
А почему тогда "не оправдано"?


Блин, в смысле, конечно, if else лучше такого изврата,
ещё лучше простой reflection как в первом варианте(в простых случаях)
Чем "простой рефлекшн еще лучше if else"? и почему только в простых случаях? он покрывает все случаи.
...
Рейтинг: 0 / 0
methods
    #33974722
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINUXER NotGonnaGetUs
А почему тогда "не оправдано"?


Блин, в смысле, конечно, if else лучше такого изврата,
ещё лучше простой reflection как в первом варианте(в простых случаях)

А можешь простенько объяснить в чём "изврат" ?
Если не трудно, то с примерами кода.

Мне очень интересно почему 50 if else и один класс для 50 операций не нарушают "инкапсуляцию" и не создают "бардак", а 50 классиков (по одному на операцию) делают и то и другое.
...
Рейтинг: 0 / 0
methods
    #33975639
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Timm
if else дают много кода в месте вызова. Конечно можно его генерить, но если вынести общее, то вызывать методы можно одним вызовом рефлект-метода что ИМХО очень удобно и понятно

2NotGonnaGetUs
Много классов не создают много кода в месте вызова
Если их вынести в отдельный pakage то они даже не будут мешаться

Проблема в том что методы объеденяют в интерфейсы(классов) не просто так, а потому что используют общие данные или имеют общую цель.
(Например это сеттеры.) Можно дать им доступ к нужным данным и т. д.
Но использовать классы не по назначению явно не удобно(в т ч для расширения).
Также методы могут использоваться другими частями системы о которых я могу не знать.
Т е я вижу такой подход идеологически не правильным, что может вызывать множество проблем
...
Рейтинг: 0 / 0
methods
    #33975836
pattron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LINUXERЕсть интерфейс в котором за 50 методов
Есть метод в котором нужно в зависимости он заданной строки выбрать какой из методов того интерфейса нужно запустить
Есть ли более изящное(простое) решение чем использование рефлекшена?pattern decorator?
...
Рейтинг: 0 / 0
methods
    #33975924
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINUXER
2NotGonnaGetUs


Похоже, мне ещё учиться и учиться....
...
Рейтинг: 0 / 0
42 сообщений из 42, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / methods
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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