外观模式提供了一个统一的接口,让我们可以统一的访问一系列的子系统。比如汽车就是外观,他的一个个子系统,如引擎、轮子、刹车等,通过访问汽车就能避免一系列繁琐的访问一个个子系统了。

 

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;

namespace ConsoleApplication1
{
    class Program
    {

        public class Engine
        {
            public void Start()
            {
                Console.WriteLine("engine start");
            }

            public void Stop()
            {
                Console.WriteLine("engine stop");
            }
        }



        public class Brake
        {
            public void DoBrake()
            {
                Console.WriteLine("do brake");
            }
        }

        public class Wheel
        {
            public void Start()
            {
                Console.WriteLine("wheel start");
            }

            public void Stop()
            {
                Console.WriteLine("wheel stop");
            }
        }

        public class Car
        {
            private Engine engine = new Engine();
            private Wheel wheel = new Wheel();
            private Brake brake = new Brake();

            public void Run()
            {
                engine.Start();
                wheel.Start();
            }

            public void Stop()
            {
                engine.Stop();
                wheel.Stop();
                brake.DoBrake();
            }
        }
       
        static void Main(string[] args)
        {
            Car car = new Car();
            car.Run();
            car.Stop();

        }
    }
}