![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Я в похожей ситуации использовал шаблон Filter. Есть куча маленьких классов, каждый из которых проверяет свое маленькое условие. Если все проверки прошли, операция разрешается, если что-то сфейлилось, то возвращаем сообщение об ошибке. Благодаря тому что каждый фильтр маленький и простой, тестировать его намного проще. И добавлять новые фильтры можно не трогая старый код. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 1 Всего: 101 |
у ТС немного сложнее, ему нужна не просто валидация, а еще и определенная реакция. причем, подозреваю, результаты этой реакции могут включаться в поток проверок.
на фильтре можно такое сделать, но тогда одни и те же проверки будут повторяться |
|||
|
||||
_Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 5 Всего: 34 |
Спасибо. Сам я, честно говоря, в чужой конкретике копаться не люблю и, потому, нагружать окружающих деталями как-то неудобно. Да и задача не рабочая - типа хобби, чтобы Java не забывалась. Я уже несколько лет на другом языке работаю в совсем другой области. На мой взгляд, это и есть конечный автомат. Но, в моем случае, он будет строго линейным. Никаких переходов - проверил то - поступил так, проверил это - поступил эдак. Если что-то не позволяет пойти по одному из разрешенных путей, все равно провел все проверки, а уже потом выдал суммарное сообщение о неприятной ситуации.
Не совсем так, но похоже. Будут повторяться не проверки, а запросы к БД. Я вот подумал над вашими ответами и пришел к такой идее. Можно, наверное, действительно сделать что-то вроде набора фильтров, но плоховато инкапсулированных. Исходные данные и объекты, выводящие параметры, пропускать через все фильтры по очереди (все равно параметры по ссылке передаются если они объекты). Пусть каждый фильтр их модифицирует если хочет. Фильтры делать по принцыпу "один запрос к БД на один фильтр". Что на эту тему думаете? -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |