这个问题源于我在 Grails 应用程序上的工作,但它适用于几乎所有分层开发的 Web 应用程序。这是一个简单的例子:
class OrderService {
// Option 1
def shipOrder(Order order) {
order.status = OrderStatus.SHIPPED
emailService.sendShipmentEmail(order)
// ...
}
// Option 2
def shipOrder(long orderId) {
def order = Order.get(orderId)
order.status = OrderStatus.SHIPPED
emailService.sendShipmentEmail(order)
// ...
}
}
这些选项中的任何一个是否被记录为比另一个更好?