Computer >> Máy Tính >  >> Lập trình >> C#

Facade là gì và cách triển khai trong C #?

Mẫu Mặt tiền là một cấu trúc đơn giản nằm trên một cấu trúc phức tạp hơn.

Những người tham gia

Hệ thống con là bất kỳ lớp hoặc đối tượng nào triển khai chức năng nhưng có thể được "bao bọc" hoặc "bao phủ" bởi Mặt tiền để đơn giản hóa giao diện.

Mặt tiền là lớp trừu tượng phía trên Hệ thống con và biết Hệ thống con nào cần ủy quyền công việc thích hợp.

Mẫu Mặt tiền quá chung chung nên nó áp dụng cho hầu hết mọi ứng dụng chính, đặc biệt là những ứng dụng mà tôi không thể cấu trúc lại hoặc sửa đổi các phần của ứng dụng đã nói vì nhiều lý do.

Ví dụ

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");
   }
}