есть ли какое-нибудь хорошее решение для проверки доменов после смены?Логика валидации логики
Например: В нашем случае мы получили пользователей как объект домена. UserGlobal имеет срок действия (activeFrom и activeTo). Когда администратор меняет этот таймфрейм, ему необходимо проверить сервальные другие домены, такие как временные рамки BankDataExpiration, временные рамки контракта и т. Д. ... Сегодня мы используем большой уродливый блок со всеми проверками в одном классе.
некоторые псевдо-код:
public class UsersService {
public void onUserChange(Users users) {
checkContracts();
checkBankdata();
// much other validation checks....
}
}
После всей уродливой проверки вещи, возможно, что данные должны изменяться автоматически. Например, некоторые таймфреймы можно разрезать.
Но все это наносит ущерб «Принципу единой ответственности» и его нечитаемым и неподъемным. Есть ли хорошее и умное решение там, я еще не нашел?
Мы уже подумали о интерфейсе для проверки и проверки, который будет автоповещаться через весенние бобы. Но у нас возникли проблемы с управлением сеансами спящего режима. Мы изменили некоторые данные повторной передачи в сеансе с ошибкой, пользователь изменил данные и попытался ее повторить. Валидация проходит, и ранее измененные объекты будут выполнены.
Я надеюсь, что этот вопрос не вообще: S
Вы можете создать интерфейс 'Validation' и создать несколько реализаций, перебрать их в свой метод' onUserChange'. Это позволило бы разделить вещи (возможно, повторно использовать некоторые валидации?) И, вероятно, быть более проверяемым. –
Это очень упрямый вопрос - вы уже озвучиваете несколько себя, например, что это уродливое. Я считаю это вполне читаемым и, следовательно, не уродливым - он не только многократно используется повторно. Я могу сказать: «Переместите проверки к единственному многоразовому методу checkUser() в правильном классе бизнес-логики», и все остальные могут полностью не согласиться со мной; это потому, что только, на мой взгляд, это хорошая идея, я не говорю о твердых фактах. Я также не могу изложить твердые факты так, как задается вопрос. – Gimby