門面模式(外觀模式)

1.提供一個類,封裝對子系統的操作,使子系統更加容易使用

2.提供多個子系統,增加門面類可以減少各子系統間的依賴

3.客戶端只需要關注門面類中方法,而不用關心子系統

 

// sub System
	class design_mode_Facade_Sub_System1
	{
		public  void design_mode_Facade_Sub_System1_Method()
		{
			System.out.println("This is design_mode_Facade_Sub_System1_Method");
		}
	}

	class design_mode_Facade_Sub_System2
	{
		public  void design_mode_Facade_Sub_System2_Method()
		{
			System.out.println("This is design_mode_Facade_Sub_System2_Method");
		}
	}

	class design_mode_Facade_Sub_System3
	{
		public  void design_mode_Facade_Sub_System3_Method()
		{
			System.out.println("This is design_mode_Facade_Sub_System3_Method");
		}
	}
   

   // 門面類
	class design_mode_Facade_Model
	{
		private design_mode_Facade_Sub_System1 sub1 = null;
		private design_mode_Facade_Sub_System2 sub2 = null;
		private design_mode_Facade_Sub_System3 sub3 = null;


		public design_mode_Facade_Model()
		{
			sub1 = new design_mode_Facade_Sub_System1();
			sub2 = new design_mode_Facade_Sub_System2();
			sub3 = new design_mode_Facade_Sub_System3();

		}

		public void design_mode_Facade_Model_MethodA()
		{
			System.out.println("方法A");
			sub1.design_mode_Facade_Sub_System1_Method();
			sub2.design_mode_Facade_Sub_System2_Method();
		}

			public void design_mode_Facade_Model_MethodB()
		{
				System.out.println("方法B");
			sub2.design_mode_Facade_Sub_System2_Method();
			sub3.design_mode_Facade_Sub_System3_Method();
		}
	}

	class design_mode_Facade_Model_Client
	{
		public void design_mode_Facade_Model_Client_Test()
		{
			design_mode_Facade_Model demod = new design_mode_Facade_Model();

			demod.design_mode_Facade_Model_MethodA();
			demod.design_mode_Facade_Model_MethodB();

		}
	}

 

發佈了51 篇原創文章 · 獲贊 0 · 訪問量 1374
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章