public IDeliveryFlyweight MakeLocation(DeliveryLocationData intrinsicState) { var key = CreateId(intrinsicState); if (_locations.ContainsKey(key)) { return(_locations[key]); } _locations[key] = new DeliveryLocation(intrinsicState); return(_locations[key]); }
private string CreateId(DeliveryLocationData data) { return(data.Street.ToLower() + data.City.ToLower()); }
public DeliveryLocation(DeliveryLocationData intrinsicState) { _intrinsicState = intrinsicState; }