| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > реализовать Factory |
| Автор: Samotnik 13.4.2008, 18:10 | ||||
| вобщем, нужно : Юезр на странице выбирает, с какого файла он хочет читать инфу, либо с .csv либо с .xml Делаю так : передаю с текстедитора параметр
принимаю на сервлете его в методе service
а вот теперь мне нужно прикрутить фабрку, т.е. в зависимости от того что пришло (xml или csv) мне нужно прочитать данные либо с одно либо с другого. Уже написал классы, которые ситают данные, один класс читайет csv другой xml .. Проблема, в том , что не могу понять как их вызывать, и как забрать значения, которые те классы достали... Добавлено через 14 минут и 44 секунды ДА, вот тут http://www.allapplabs.com/java_design_patterns/factory_pattern.htm есть пример, в нем все понятно, в зависимости от того, что введет юзер M либо W то выведится соответсвующее приветсвие, а мне нужно из классов ПОЛУЧИТЬ те данные, которые они прочитали из файлов |
| Автор: Zamuta 13.4.2008, 18:42 | ||
| Samotnik, ну так и делай как написано.
Или покажи классы которые читают из файлов. |
| Автор: Samotnik 13.4.2008, 18:50 | ||
Zamuta, дык это понятно ... вобщем вот класс, который читает с xml
Вот мне нужно, как то передать s из метода printAndAppend на сервлет ..... Вопрос, что написать на сервелете, и как реализовать передачу |
| Автор: Samotnik 13.4.2008, 20:05 | ||
да, в идеале должно быть так, т.к. мне эту строку в вылетающий список нужно будет передать на .html Дело в том, что нужно тут обязательно реализовать этот паттерн!!!!!! Если есть другой способ, я с удовольствием выслушаю ! Добавлено через 1 минуту и 2 секунды
и как это сделать ? мой метод printAndAppend выполнит эту функцию ? |
| Автор: ivg 13.4.2008, 20:33 | ||||||
ну например
в методе service сервлета:
|
| Автор: ivg 13.4.2008, 21:18 | ||||||||||||
Ну раз так то например
в методе service сервлета:
Первый вариант кажется проще? |
| Автор: Samotnik 13.4.2008, 21:38 |
намного, ведь там тоже фабрика реализованна, да ? |
| Автор: ivg 14.4.2008, 06:38 | ||
Нет. Одним из ключевых моментов этого паттерна является инстанциирование объекта, класс (тип) которого определяется во время выполнения. Вот, а если сравнить код клиента (имеется ввиду код из метода service сервлета), то второй вариант попроще будет. Вобщем в определённых ситуациях использование этого паттерна имеет смысл. Если задачка учебная, предлагаю её усложнить, чтобы применение фабрики было оправдано. Например добавить еще пару тройку вариантов, в создаваемые классы добавить поля, в которых например сохранять результаты чтения.
И вы потом хотите эту строку снова разбирать, чтобы в селекте (html) вывести нужные значения? Или строка ещё где-то используется? |
| Автор: Samotnik 14.4.2008, 11:34 |
| ivg, ну мне дали задание, в котором нужно реализовать factory я решил его применить при чтении файлов, т.е. если юзер выбрал xml то генерится фабричный метод и достает данные из xml если юзер выбрал csv то фабричный метод генерит чтение из csv у меня есть : сервлет, который принял (либо xml либо csv ) есть классы, которые читают из разных файлов (если нвдо, могу вместо классов чтения сделать методы ....) вот я и пытаюсь узнать, как это все вместе прикрутить и реализовать фабричный метод |
| Автор: ivg 14.4.2008, 11:51 |
| Ну тогда, если целесообразность применения данного паттерна не играет роли (учебное задание), то я думаю можно смело использовать второй вариант. Просто, для реальных задач и исходя из озвученных условий, боюсь это будет излишним. |
| Автор: Samotnik 14.4.2008, 11:53 |
| а какую функцию должен выполнять класс HelppperClass ? Что там должно быть ? |
| Автор: ivg 14.4.2008, 11:56 |
| Так это у вас он обозначен в третьем посте. |
| Автор: Samotnik 14.4.2008, 12:00 |
| ivg, а он пустой |