设计模式整理_外观模式

  外观模式提供了一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层的接口,让子系统更容易使用.因为有了外观,客户的工作将更加快捷简便.

  组件建立后,将会组装于外观中,并直接将外观派发给客户,方便使用,因此外观模式简化了组件中的一系列接口,方便客户的操作.外观将客户从一个复杂的子系统中解耦.当需要简化并统一一个很大的接口或者一群复杂的接口时,使用外观.

  下面是外观模式的具体使用,可以看出,通过外观模式,大大的简化了客户的操作,对于组件的操作将在具体的外观内部进行操作.

  

//组件
public interface Login {
    public void loginGame();
}
class RpgLogin implements Login{

    @Override
    public void loginGame() {
        System.out.println("Login in RPG Game!");
    }
    
}
//组件
public interface Information {
    public void getInformation();
}
class RpgInformation implements Information {

    @Override
    public void getInformation() {
        System.out.println("get RPG Information.");
    }
    
}
//组件
public interface Role {
    public void selectRole();
}
class RpgRole implements Role{
    public void selectRole() {
        System.out.println("Select a RPG GAME role.");
    }
}
public interface PlayGame {
    public void play();
}
class PlayRpgGame implements PlayGame {
    /*三个组件直接在外观类中进行实例化,客户看不到,客户只关心具体的调用.*/
    Login log=new RpgLogin();
    Information inf=new RpgInformation();
    Role rol=new RpgRole();
    @Override
    public void play() {
        log.loginGame();
        inf.getInformation();
        rol.selectRole();
    }
    
}
//通过外观模式大大简化了操作.
public class Test {
    public static void main(String[] args) {
        PlayRpgGame play=new PlayRpgGame();
        play.play();
    }
}

 

posted @ 2016-06-19 09:59  hlhdidi  阅读(141)  评论(0编辑  收藏  举报