我目前在生产中使用spring框架。 现在,我想先确认订单,然后再确认订单。
如果我按订单验证的代码是这样的
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;
}
}
我想知道两种方式的利弊。