示例#1
0
        private static IGridAlgorithm CreateAlgorithm(int gridSize, int outputColumnLength, TextWriter outputWriter)
        {
            Stopwatch   stopwatch = Stopwatch.StartNew();
            Logger      logger    = new Logger(Console.Out, () => stopwatch.Elapsed);
            BlockWriter writer    = new BlockWriter(outputWriter, gridSize, outputColumnLength);

            switch (gridSize)
            {
            case 2:
                return(new Word2GridAlgorithm(logger, writer));

            case 3:
                return(new Word3GridAlgorithm(logger, writer));

            case 4:
                return(new Word4GridAlgorithm(logger, writer));

            default:
                throw new InvalidOperationException("Invalid size.");
            }
        }
示例#2
0
 public Word2GridAlgorithm(Logger logger, BlockWriter writer)
     : base(logger, writer)
 {
 }
示例#3
0
 protected GridAlgorithm(Logger logger, BlockWriter blockWriter)
 {
     this.logger      = logger;
     this.blockWriter = blockWriter;
 }