Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Динамически добавляемый метод


Автор: invis87 10.11.2009, 19:01
Всем добрый вечер.

Допустим я пишу класс работы, например, с ArrayList, где добавляю туда некоторые объекты и удаляю их по определённым методам.
Например удалить самый старый или удалить самый новый. Для этого я пишу метод remove()  в котором удаляю объект getObjectByStrategy() в котором использую те свои два метода (найти самый старый или найти самый новый). Хотелось бы настолько всё это абстрагировать, чтобы пользователь моего класса мог добавлять свои методы поиска наиболее ненужного ему объекта. Например addStrategy.
Как это сделать я понятия не имею smile

Думаю может быть возможно реализовать динамически расширяемый массив (или тот же ArrayList), который бы хранил ссылки на методы поиска. И в addStrategy просто добавлять в этот массив ссылку на метод, который пользователь вернёт через параметр.
Как это сделать я не знаю. Подскажите плиз, если такое вообще возможно. Если не лень то с маленьким примерчиком, для наглядности.

Спасибо за то что прочли smile надеюсь я понятно изложил свою мысль.

Автор: fixxer 10.11.2009, 20:01
http://ru.wikipedia.org/wiki/Strategy

Автор: invis87 10.11.2009, 20:20
Это да, в принципе я и сам об этом думал, только вот как реализовать добавление методов пользователем.

Автор: math64 11.11.2009, 10:55
Кто твой пользователь? Программист на Java? Тогда ему нужно реализоать интерфейс
Код

public interface IStategy {
String getStategyName();
Object getObject(ArrayList list);
}

Автор: invis87 11.11.2009, 16:53
Разобрался. Спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)