В настоящее время я использую пружинный каркас на своем производстве.
Теперь я хочу подтвердить свой заказ, прежде чем подтвердить заказ.
Если я проверю при заказе код, будьте так.
class Order() {
Address address;
List<Item> items;
public boolean isValid() {
if (address == null)
return false;
if (CollectionsUtils.isEmpty(items))
return false;
return true;
}
}
class OrderService() {
OrderRepository orderRepository;
public confirmOrder(){
Order order = orderRepository.findById(orderId);
if(order.isValid())
throw new InvalidOrderException();
.
. do something
.
}
}
Если я напишу валидацию в сервисе, будь таким.
class Order() {
Address address;
List<Item> items;
}
class OrderService() {
OrderRepository orderRepository;
public confirmOrder(){
Order order = orderRepository.findById(orderId);
if(validate(order))
throw new InvalidOrderException();
.
. do something
.
}
public boolean validate(Order order) {
if (order.address == null)
return false;
if (CollectionsUtils.isEmpty(order.items))
return false;
return true;
}
}
Я хочу знать плюсы и минусы обоих способов.