Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

Facade คืออะไรและจะนำไปใช้อย่างไรใน C #


รูปแบบ Facade เป็นโครงสร้างที่เรียบง่ายวางทับโครงสร้างที่ซับซ้อนมากขึ้น

ผู้เข้าร่วม

ระบบย่อยคือคลาสหรืออ็อบเจ็กต์ใดๆ ที่ใช้ฟังก์ชันการทำงาน แต่ Facade สามารถ "ห่อ" หรือ "ครอบคลุม" ได้เพื่อทำให้อินเทอร์เฟซง่ายขึ้น

Facade เป็นชั้นของสิ่งที่เป็นนามธรรมเหนือระบบย่อย และรู้ว่าระบบย่อยใดที่จะมอบหมายงานที่เหมาะสมให้

รูปแบบ Facade เป็นแบบทั่วไปมากจนใช้ได้กับแอปหลักๆ เกือบทุกแอป โดยเฉพาะที่ฉันไม่สามารถปรับโครงสร้างใหม่หรือแก้ไขส่วนต่างๆ ของแอปดังกล่าวได้ด้วยเหตุผลหลายประการ

ตัวอย่าง

public class HomeFacade {
   LightsFacade light;
   MusicSystemFacade musicSystem;
   AcFacade ac;
   public HomeFacade() {
      light = new LightsFacade();
      musicSystem = new MusicSystemFacade();
      ac = new AcFacade();
   }
   public void LeaveHomeForOffice() {
      light.SwitchOffLights();
      musicSystem.SwitchOffMusicSystem();
      ac.SwitchOffAc();
   }
   public void ArriveHomeFromOffice() {
      light.SwitchOnLights();
      musicSystem.SwitchOnMusicSystem();
      ac.SwitchOnAc();
   }
}
public class LightsFacade {
   public void SwitchOnLights() {
      Console.WriteLine("Switched on Lights");
   }
   public void SwitchOffLights() {
      Console.WriteLine("Switched off Lights");
   }
}
public class MusicSystemFacade {
   public void SwitchOnMusicSystem() {
      Console.WriteLine("Switched on MusicSystem");
   }
   public void SwitchOffMusicSystem() {
      Console.WriteLine("Switched off MusicSystem");
   }
}
public class AcFacade {
   public void SwitchOnAc() {
      Console.WriteLine("Switched on Ac");
   }
   public void SwitchOffAc() {
      Console.WriteLine("Switched off Ac");
   }
}