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