[原创]设计模型探索G-Facade parttern 之九九归一

[原创]设计模型探索G-Facade parttern 之九九归一
外观模式
为子系统中的一组接口提供一个一致的界面, 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很多时候更是一种架构设计模式。

 

你可能感兴趣的:([原创]设计模型探索G-Facade parttern 之九九归一)