package facade;
/**
* 外观模式 一个卖家的接口
* @author Administrator
*
*/
public interface Sell {
/**
* 出售
*/
public void sell();
}
package facade;
/**
* 相当于子系统(卖鱼者)
* @author Administrator
*
*/
public class FishSell {
public void sell(){
System.out.println("i sell fish!");
}
}
package facade;
/**
* 相当于子系统(卖水果者)
* @author Administrator
*
*/
public class FruitSell {
public void sell(){
System.out.println("i sell fruit!");
}
}
package facade;
/**
* 继承sell接口提高了可扩展性
* @author Administrator
*
*/
public class Seller implements Sell {
private FishSell fis=new FishSell();
private FruitSell frs=new FruitSell();
/**
* 调用子系统,提供一个面向给客户(买家)的方法
*/
@Override
public void sell() {
fis.sell();
frs.sell();
}
}
package facade;
/**
* 客户(买家)
* @author Administrator
*
*/
public class FacadeMain {
public static void main(String[] args) {
Seller s= new Seller();
s.sell();
}
}