namespace AggregateConsistencyBoundary { public class OrderAggregateRoot { private readonly Address _restaurant; private readonly Address _customer; public OrderAggregateRoot(Address restaurant, Address customer) { _restaurant = restaurant; _customer = customer; } public void Pay() { } public void Cancel() { } public ShipmentAggregateRoot Ship() { return ShipmentAggregateRoot.Factory(new PickupStop(1, _restaurant), new DeliveryStop(2, _customer)); } } }