Questa domanda nasce dal mio lavoro su un'applicazione Grails, ma si applica praticamente a tutte le applicazioni Web sviluppate a strati. Ecco un semplice esempio:I metodi Service Layer dovrebbero prevedere istanze o id?
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)
// ...
}
}
Qualcuna di queste opzioni è documentata migliore dell'altra?
Come sempre con questo tipo di domande, dipende. Questa non è una buona domanda per SO e probabilmente sarà chiusa. – Gregg
Hm, non lo sapeva. Ho cambiato la domanda un po 'per renderla meno dipendente dall'opinione. –