Skip to main content
Fix output coloring.
Source Link
candied_orange
  • 119.7k
  • 27
  • 233
  • 369
IsValid: True IsValid: True IsValid: True IsValid: True 
IsValid: True IsValid: True IsValid: True IsValid: True 
IsValid: True IsValid: True IsValid: True IsValid: True 
IsValid: True IsValid: True IsValid: True IsValid: True 
Correcting a typo
Source Link

Accepting a Dependency Injection (IValidationStrategy) and using a nested builder class to construct the different stratgystrategy implementations in an immutable way:

Accepting a Dependency Injection (IValidationStrategy) and using a nested builder class to construct the different stratgy implementations in an immutable way:

Accepting a Dependency Injection (IValidationStrategy) and using a nested builder class to construct the different strategy implementations in an immutable way:

Breaking up output
Source Link
candied_orange
  • 119.7k
  • 27
  • 233
  • 369

Accepting a Dependency Injection (IValidationStrategy) and using a nested builder class to construct the different stratgy implementations in an immutable way:

class Program { static void Main(string[] args) { Console.Out.WriteLine( "IsValid: {0}", new StringValidator.Builder() .Regex(@"\d+") .Validate("55") ); Console.Out.WriteLine( "IsValid: {0}", new StringValidator.Builder() .WildCard("*") .Validate("Whatever string to be validated") ); // Or, if you hate using nameless temporary objects Console.Out.WriteLine(); StringValidator.Builder stringValidatorBuilder = new StringValidator.Builder(); string regex = @"\d+"; StringValidator regValidator = stringValidatorBuilder.Regex(regex); bool isValid = regValidator.Validate("55"); Console.Out.WriteLine("IsValid: {0}", isValid); string wildCard = "*"; StringValidator wildCardValidator = stringValidatorBuilder.WildCard(wildCard); isValid = wildCardValidator.Validate("Whatever string to be validated"); Console.Out.WriteLine("IsValid: {0}", isValid); } } 
IsValid: True IsValid: True   IsValid: True IsValid: True 

Accepting a Dependency Injection (IValidationStrategy) and using a nested builder class to construct the different implementations in an immutable way:

class Program { static void Main(string[] args) { Console.Out.WriteLine( "IsValid: {0}", new StringValidator.Builder() .Regex(@"\d+") .Validate("55") ); Console.Out.WriteLine( "IsValid: {0}", new StringValidator.Builder() .WildCard("*") .Validate("Whatever string to be validated") ); // Or, if you hate using nameless temporary objects StringValidator.Builder stringValidatorBuilder = new StringValidator.Builder(); string regex = @"\d+"; StringValidator regValidator = stringValidatorBuilder.Regex(regex); bool isValid = regValidator.Validate("55"); Console.Out.WriteLine("IsValid: {0}", isValid); string wildCard = "*"; StringValidator wildCardValidator = stringValidatorBuilder.WildCard(wildCard); isValid = wildCardValidator.Validate("Whatever string to be validated"); Console.Out.WriteLine("IsValid: {0}", isValid); } } 
IsValid: True IsValid: True IsValid: True IsValid: True 

Accepting a Dependency Injection (IValidationStrategy) and using a nested builder class to construct the different stratgy implementations in an immutable way:

class Program { static void Main(string[] args) { Console.Out.WriteLine( "IsValid: {0}", new StringValidator.Builder() .Regex(@"\d+") .Validate("55") ); Console.Out.WriteLine( "IsValid: {0}", new StringValidator.Builder() .WildCard("*") .Validate("Whatever string to be validated") ); // Or, if you hate using nameless temporary objects Console.Out.WriteLine(); StringValidator.Builder stringValidatorBuilder = new StringValidator.Builder(); string regex = @"\d+"; StringValidator regValidator = stringValidatorBuilder.Regex(regex); bool isValid = regValidator.Validate("55"); Console.Out.WriteLine("IsValid: {0}", isValid); string wildCard = "*"; StringValidator wildCardValidator = stringValidatorBuilder.WildCard(wildCard); isValid = wildCardValidator.Validate("Whatever string to be validated"); Console.Out.WriteLine("IsValid: {0}", isValid); } } 
IsValid: True IsValid: True   IsValid: True IsValid: True 
Name tweek
Source Link
candied_orange
  • 119.7k
  • 27
  • 233
  • 369
Loading
added 1475 characters in body
Source Link
candied_orange
  • 119.7k
  • 27
  • 233
  • 369
Loading
Added an example of use
Source Link
Loading
Source Link
Loading