外观模式
问题场景
有一大堆组件类需要用户去调用以便完成一个链式的任务,为了能简化这个链式调用的操作,可以提供一个更简化的入口类,让这个类去调用那一堆组件类。
总结模式
将多个组件的引用作为属性注入到门面类中,由门面类调用这些组件。
示例代码
public class WaterPlane { public void PouringWater( ) { Console.WriteLine( "正在为您倒水……" ); } }
public class MicrowaveOven { public void CreatePopcorn( ) { Console.WriteLine( "正在为您炮制爆米花……" ); } }
public class Stereo { public void PlayCD( ) { Console.WriteLine( "正在为您播放随机音乐……" ); } }
public class GoHome
{
private static WaterPlane waterPlane = new WaterPlane( );
private static MicrowaveOven microwaveOven = new MicrowaveOven( );
private static Stereo stereo = new Stereo( );
public static void Invoker( )
{
waterPlane.PouringWater( );
microwaveOven.CreatePopcorn( );
stereo.PlayCD( );
}
}
public class Programe
{
static void Main( string[] args )
{
GoHome.Invoker( );
}
}
public class MicrowaveOven { public void CreatePopcorn( ) { Console.WriteLine( "正在为您炮制爆米花……" ); } }
public class Stereo { public void PlayCD( ) { Console.WriteLine( "正在为您播放随机音乐……" ); } }
public class GoHome
{
private static WaterPlane waterPlane = new WaterPlane( );
private static MicrowaveOven microwaveOven = new MicrowaveOven( );
private static Stereo stereo = new Stereo( );
public static void Invoker( )
{
waterPlane.PouringWater( );
microwaveOven.CreatePopcorn( );
stereo.PlayCD( );
}
}
public class Programe
{
static void Main( string[] args )
{
GoHome.Invoker( );
}
}