public static bool TryCreate(string postalCode, out PostalCode result, out string failureReason)
{
var specification = new PostalCodeSpecification();
if (specification.IsSatisfiedBy(postalCode))
{
result = new PostalCode(postalCode);
failureReason = string.Empty;
return true;
}
result = null;
failureReason = specification.GetReasonsForDissatisfactionSeparatedWithNewLine();
return false;
}