年年作品展,岁岁不相同,鹅黄新绿涟漪泛起思想的火花却不尽相同。十期的作品展,从13年3月20号開始到完美落幕,时至今日,她已经在我的记忆中成为过去。这朵小小的浪花激起的涟漪渐渐褪去,或许已没有或许,但那抹如琉璃般的记忆也在这片平静中渐渐凝成永恒。当再次凝眸十一期的那群孩子,笑意浅浅,心事微澜。
今天是十一期作品展的日子,看到她们多像去年的我。揣測激情与梦想来到这淡紫色蒲公英飞舞的土地。昨天晚上抽出时间去看了看十一期的作品展彩排,彩排的过程中,有五彩的灯光。有展示作品的大屏幕,投影仪,还有音响,在整个作品展示的过程中,十一期孩子的后勤人员中,有人负责关闭灯光和打开灯光。有人负责打开和关闭投影仪,一个个作品的衔接须要打开和关闭大屏幕,有的作品是音乐类的软件。这个时候就要控制音量,打开和关闭音响,咦?这一连串的流程怎么会如此熟悉,猛然间,恍惚。这个俨然就是我们大话设计中的外观模式啊。
外观模式,为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加easy使用。首先我们来看一下我们外观模式的结构图:
        
依旧以我们的上述十一期作品展为例,来看看我们的类图:
       
画好了类图。来看看我们代码是怎样实现的呢?我们先来看看灯光。投影仪。大屏幕。音响的代码:
using System;
namespace Facade 
{ /// <summary> // 投影仪 public class Projector { public void OpenProjector() { Console.WriteLine("打开投影仪"); }public void CloseProjector() { Console.WriteLine("关闭投影仪"); }}//灯光public class Light { public void OpenLight() { Console.WriteLine("打开灯光"); }public void CloseLight() { Console.WriteLine("关闭灯光"); } } //屏幕public class Screen { public void OpenScreen() { Console.WriteLine("打开屏幕"); }public void CloseScreen() { Console.WriteLine("关闭屏幕"); } } //音响public class  Acoustics  { public void Acoustics  () { Console.WriteLine("打开音响"); }public void CloseAcoustics  () { Console.WriteLine("关闭音响"); } } 
}   public class ProductionFacade { /// 在外观类中必须保存有子系统中各个对象 private Projector projector; private Light  light; private Screen screen; private Acoustics   acoustics; public ProductionFacade() { projector = new Projector(); light = new Light(); screen = new Screen(); acoustics=new Acoustics();}/// <summary> /// 作品開始/// <summary> public void OpenProduction() { //先打开灯光light.OpenLight(); //打开投影projector.OpenProjector(); //再打开屏幕 screen.OpenScreen(); //再打开音响acoustics.OpenAcoustics(); }/// <summary> /// 作品结束/// </summary> public void CloseProduction() { //关闭灯光light.CloseLight(); //关闭投影projector.CloseProjector(); //关闭屏幕 screen.CloseScreen(); //关闭音响acoustics.CloseAcoustics(); }} 
} static void Main(string[] args) { Facade.ProductionFacade movie = new Facade.ProductionFacade(); Facade.Projector projector = new Facade.Projector();//首先是观看作品 movie.OpenProduction();Console.WriteLine();//最后就是关闭作品了 movie.CloseProduction();Console.ReadKey(); } 十一期的作品展今天晚上在学府拉开序幕。祝福你们。愿这朵小小的浪花在IT的海洋里激起惊涛骇浪,我的大话设计依旧在继续........