static void Main() { var ascStrategy = new AscendingSortingStrategy(); var descStrategy = new DescendingSortingStrategy(); var nums = new int[] { 9, 2, -5, 0, 9, 1, 10, -9 }; Sort(nums, ascStrategy); Print(nums); Sort(nums, descStrategy); Print(nums); }
public SortingStrategyFactory( AscendingSortingStrategy ascendingSortingStrategy, DescendingSortingStrategy descendingSortingStrategy, HighSortingStrategy highSortingStrategy, LowSortingStrategy lowSortingStrategy, RecommendedSortingStrategy recommendedSortingStrategy) { _ascendingSortingStrategy = ascendingSortingStrategy ?? throw new ArgumentNullException(nameof(ascendingSortingStrategy)); _descendingSortingStrategy = descendingSortingStrategy ?? throw new ArgumentNullException(nameof(descendingSortingStrategy)); _highSortingStrategy = highSortingStrategy ?? throw new ArgumentNullException(nameof(highSortingStrategy)); _lowSortingStrategy = lowSortingStrategy ?? throw new ArgumentNullException(nameof(lowSortingStrategy)); _recommendedSortingStrategy = recommendedSortingStrategy ?? throw new ArgumentNullException(nameof(recommendedSortingStrategy)); }