Пример #1
0
        static void Run()
        {
            Console.WriteLine("***Adapter Pattern Demo***\n");

            var hole     = new RoundHole(5);
            var roundPeg = new RoundPeg(5);

            hole.Fits(roundPeg); // true

            var smallSquarePeg = new SquarePeg(5);
            var largeSquarePeg = new SquarePeg(10);

            // don't compile (incompatible types).
            //hole.Fits(smallSquarePeg);

            var smallSquarePegAdapter = new SquarePegAdapter(smallSquarePeg);
            var largeSquarePegAdapter = new SquarePegAdapter(largeSquarePeg);

            hole.Fits(smallSquarePegAdapter); // true
            hole.Fits(largeSquarePegAdapter); // false
        }
Пример #2
0
 public SquarePegAdapter(SquarePeg peg)
 {
     _peg = peg;
 }