Очистка данных; какой слой? - PullRequest
2 голосов
/ 18 ноября 2009

У меня есть приложение, основанное на Model-Glue: Unity, которое содержит несколько форм поиска. Мне нужно обрезать начальные и конечные пробелы из строк поиска, прежде чем использовать их для запроса к базе данных. Я также храню условия поиска в бине, который пользователь может сохранить и использовать повторно.

Моя проблема в том, что я не уверен, где выполнить эту обрезку (). Боб, кажется, не подходит для этого, так как я держу бин простым (без логики). Обычно я бы позаботился об этом при обновлении компонента, но я использую MakeEventBean для простоты. Повторное касание всех данных на уровне службы кажется ненужным уровнем накладных расходов. И, наконец, выполнение этого в уровне данных с фактическим запросом SQL также кажется неправильным. Это сработает, но информация в моем поисковом бине все равно будет неправильной.

Что вы сделали в таких случаях?

Ответы [ 2 ]

2 голосов
/ 18 ноября 2009

Отказ от ответственности: я не пользователь MG, поэтому я не уверен, будет ли это хорошим и возможным подходом. Просто хочу поделиться идеей.

В случае бинов Transfer ORM я делаю такие специфические вещи в декораторах, которые расширяют автоматически генерируемые бины.

Например, я могу легко переопределить сеттер setSearchPhrase (фразу), где обрезать значение аргумента и вызвать оригинальный метод.

0 голосов
/ 28 декабря 2010

Я закончил тем, что сделал Бобов немного умнее их. Вместо того, чтобы использовать обезьяну для каждого метода setThing (), я добавил простой метод trimAll(), применив trim() к каждому из частных свойств в Бине.

...