Unity学习笔记:设计模式 Facade (外观,门面)

关键词:

           (设定好几个类的执行顺序步骤,直接使用设定,方便调用者调用)

namespace Facade_DesignPattern
{
	using System;

	class SubSystem_class1 
	{
		public void OperationX() 
		{
			Console.WriteLine("SubSystem_class1.OperationX called");
		}
	}

	class SubSystem_class2
	{
		public void OperationY()
		{
			Console.WriteLine("SubSystem_class2.OperationY called");
		}
	}

	class SubSystem_class3 
	{
		public void OperationZ()
		{			
			Console.WriteLine("SubSystem_class3.OperationZ called");
		}	
	}

	class Facade 
	{
		private SubSystem_class1 c1 = new SubSystem_class1();
		private SubSystem_class2 c2 = new SubSystem_class2();
		private SubSystem_class3 c3 = new SubSystem_class3();

		public void OperationWrapper()
		{
			Console.WriteLine("The Facade OperationWrapper carries out complex decision-making");
			Console.WriteLine("which in turn results in calls to the subsystem classes");
			c1.OperationX();
			if (1==1 /*some really complex decision*/)
			{
				c2.OperationY();
			}
			// lots of complex code here . . .
			c3.OperationZ();
		}
		
	}

    /// <summary>
    ///    Summary description for Client.
    /// </summary>
    public class Client
    {
      	public static int Main(string[] args)
		{
			Facade facade = new Facade();
			Console.WriteLine("Client calls the Facade OperationWrapper");
			facade.OperationWrapper();      
            return 0;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/huanyu0127/article/details/107753906
今日推荐