public static void Main()
Console.WriteLine("Hello World");
interface IExternalValidator
bool ValidateExternally(string url, string valueToVerify);
class RestAPIValidator : IExternalValidator
public bool ValidateExternally(string url, string valueToVerify)
abstract class AbstractValidator
public abstract bool Validate(string toValidate);
protected bool ValidateWithRestAPI(string url)
return restAPIValidator.ValidateExternally(url, valuetoValidate);
class AdharValidator :AbstractValidator
public bool Validate(string toValidate)
ValidaValidateWithRestAPI(url,toValidate)
class PanValidator : AbstractValidator
public bool Validate(string toValidate)
ValidaValidateWithRestAPI(url,toValidate)
public static AbstarctValidator CreateValidator(IdType type)
if(type == IdType.Adhar) return new AdharValidator(url);
else if(type == idType.Pan) return new PanValidator(url)
AvstractValidator validator =
bool Export(IList<Configuration>);
bool Import(IList<Configuration>)