zoukankan      html  css  js  c++  java
  • 设计模式整理_外观模式

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

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

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

      

    //组件
    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();
        }
    }
  • 相关阅读:
    1组Alpha冲刺总结
    1组Beta冲刺4/5
    1组Beta冲刺5/5
    1组Alpha冲刺4/6
    1组Alpha冲刺总结
    1组Beta冲刺2/5
    1组Beta冲刺3/5
    1组Beta冲刺2/5
    1组Alpha冲刺4/6
    1组Alpha冲刺5/6
  • 原文地址:https://www.cnblogs.com/hlhdidi/p/5597497.html
Copyright © 2011-2022 走看看