梦幻之旅

DEBUG - 天道酬勤

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  671 随笔 :: 6 文章 :: 256 评论 :: 0 Trackbacks
外观模式
为子系统中的一组接口提供一个一致的界面,
Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用
外观模式的组成部份:
1.子系统
2.外观类 包含每个子系统的类,并提供一个方法,按业务逻辑依次访问子系统里的方法,使之组成一个有机体
 例子:
读文件:
package facade;

public class ReadFile
{   
    
public void readFile()
    
{
        System.out.println(
"读文件");
    }

}


解析文件:
package facade;

public class ParseFile
{   
    
public void parse()
    
{
        System.out.println(
"解析文件");
    }

}


存文件:
package facade;

public class SaveFile
{   
    
public void saveFile()
    
{
        System.out.println(
"保存文件");
    }

}


外观类:
package facade;

public class Facade
{   
    
// 解析文件
    private ParseFile parseFile;
    
    
// 读文件
    private ReadFile readFile;
    
    
// 保存文件
    private SaveFile saveFile;
    
    
public Facade()
    
{
        parseFile 
= new ParseFile();
        readFile 
= new ReadFile();
        saveFile 
= new SaveFile();
    }

    
    
public void oparatFile()
    
{
        
this.readFile.readFile();
        
this.parseFile.parse();
        
this.saveFile.saveFile();
    }

}



外观模式的优点:

正如上看到的说:客户端代码(Program)不需要关心子系统,它只需要关心CarFacade所留下来的和外部交互的接口,而子系统是在CarFacade中聚合。

 
Façade模式的几个要点:

       1、从客户程序的角度看,Facade模式不仅简化了整个组件系统的接口,同时对于组件内部与外部客户程序来说,从某种程度上也达到了一种“解耦”的效果——内部子系统的任何变化不会影响到Facade接口的变化。

2、Facade设计模式更注重从架构的层次去看整个系统,而不是单个类的层次。Facade很多时候更是一种架构设计模式。

 

posted on 2011-08-01 00:37 HUIKK 阅读(300) 评论(0)  编辑  收藏 所属分类: Design Patterns

只有注册用户登录后才能发表评论。


网站导航: