简介
外观模式,通俗来讲就是将不同类的方法放到同一个构建出来的新的类当中去,然后实例化这些不同类,在这个类当中使用方法调用这些不同类的方法。
代码解释
class Facade{
private ClassA a=new ClassA();
private ClassB b=new ClassB();
private ClassC c=new ClassC();
public void methodA(){
a.methodA();
}
...
依次类推下去
}
应用入实例的代码
Aiport.java
package waiguan;
public class Aiport {
public void BookTicket(String name,String to){
System.out.println("订购了从"+name+"到"+to+"的机票");
}
}
Hostel.java
package waiguan;
public class Hostel {
public void reserve(int days){
System.out.println("订了"+days+"天的房间");
}
}
Restaurant.java
package waiguan;
public class Restaurant {
public void reserve(int num){
System.out.println("订了一桌"+num+"个人的酒席");
}
}
Chauffeur.java
package waiguan;
public class Chauffeur {
public void drive(String to){
System.out.println("司机开车去"+to);
}
}
Secretary.java
package waiguan;
public class Secretary {
private Aiport aiport=new Aiport();
private Chauffeur chauffeur=new Chauffeur();
private Restaurant restaurant=new Restaurant();
private Hostel hostel=new Hostel();
public void trip(String to,int days){
aiport.BookTicket("青岛",to);//秘书设置对应的目的地
chauffeur.drive("机场");
hostel.reserve(days);//表示这个秘书进行设置时间
}
public void repast(int num){
restaurant.reserve(num);
chauffeur.drive("酒店");
}
}
Boss.java
package waiguan;
public class Boss {
public static void main(String[] args) {
Secretary s=new Secretary();
System.out.println("老板告诉秘书要到上海出差10天,让秘书帮忙安排一下");
s.trip("上海",10);
System.out.println("------------------------");
System.out.println("老板告诉秘书要请八个人吃饭,让秘书安排一下饭局");
s.repast(10);
}
}
本次设计模式很简单,大家看一下应该就能明白,我就不一一赘述啦,我们下期见!