一、外观模式简介(Brief 
                        Introduction)   
                             外观模式,为子系统的一组接口提供一个统一的界面,此模式定义了一个高层接口,这一个高层接口使的子系统更加容易使用。   二、解决的问题(What To Solve)1、分离不同的两个层  
                             典型的分层例子是Net三层架构,界面层与业务逻辑层分离,业务逻辑层与数据访问层分类。这样可以为子系统提供统一的界面和接口,降低了系统的耦合性。 
                         2、减少依赖  
                         随着功能增加及程序的重构,系统会变得越来越复杂,这时增加一个外观可以提供一个简单的接口,减少他们之间的依赖。 
                         3、为新旧系统交互提供接口  
                         有的时候,新系统需要旧系统的核心功能,而这个旧的系统已经很难维护和扩展,可以给新系统增加一个Fa?ade类,是的新系统与Fa?ade类交互,Fa?ade类与旧系统交互素有复杂的工作。 
                        三、外观模式分析(Analysis)1、外观模式结构  
                      
                          
                          2、源代码 
                           1、子系统类SubSystemOne 
                        
                          
                            3、子系统类SubSystemThree 
                          
                            5、客户端代码 
                            
                         
                          3、程序运行结果  
                            
                         
                        四.案例分析(Example)1、场景   
                             假设远程网络教育系统-用户注册模块包括功能有 
                         1、验证课程是否已经满人 
                         2、收取客户费用 
                         3、通知用户课程选择成功 
                         如下图所示 
                          
                        子系统类集合包括:PaymentGateway类、RegisterCourse类、NotifyUser类 
                          PaymentGateway类:用户支付课程费用 
                          RegisterCourse类:验证所选课程是否已经满人以及计算课程的费用 
                          NotifyUser类:" 用户选择课程成功与否"通知用户 
                          RegistrationFacade类:外观类,提供一个统一的界面和接口,完成课程校验、网上支付、通知用户功能 
                          2、代码 
                          1、子系统类集合 
                          
                          
                           2、外观类Fa?ade Class 
                            
                         
                            3、客户端代码 
                            
                         
                        五、总结(Summary) 
                             外观模式,为子系统的一组接口提供一个统一的界面,此模式定义了一个高层接口,这一个高层接口使的子系统更加容易使用。 
                         外观模式可以解决层结构分离、降低系统耦合度和为新旧系统交互提供接口功能。 
                         
                         |