门面模式

来源:互联网 发布:淘宝卖家遭遇诈骗 编辑:程序博客网 时间:2024/06/08 00:05

定义:

通过一个门面来封装对多个子系统的调用行为,实现客户消费系统和多个子系统之间的解耦。

要点:

定义门面类封装对多个子系统的调用行为

实例:

这个实例从类结构上看跟装饰模式一样,但心里要清楚,这两种模式解决的问题侧重点是不一样的。装饰器模式旨在在系统原功能上增加额外的功能;门面模式旨在实现客户系统和多个子系统间的解耦。

public interface Car {public void start() throws Exception;}

public class BaomaCar implements Car {@Overridepublic void start() throws Exception {// TODO Auto-generated method stubSystem.out.println(" 宝马车启动   ");}}

public class BenchCar implements Car {@Overridepublic void start() throws Exception {// TODO Auto-generated method stubSystem.out.println(" 奔驰车启动   ");}}

public class Facade implements Car{private Car benchCar;private Car baomaCar;public Facade( ){}public Facade( Car benchCar,Car baomaCar ){this.benchCar = benchCar;this.baomaCar = baomaCar;}@Overridepublic void start() throws Exception {benchCar.start();baomaCar.start();}}

public class Client {/** * @param args * @throws Exception  */public static void main(String[] args) throws Exception {Car baomaCar = new BaomaCar();Car benchCar = new BenchCar();Car facade = new Facade(benchCar,baomaCar);facade.start();}}


原创粉丝点击