Beispiel #1
0
    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));
 }