Java设计模式-----Facade外观模式

本文通过一个具体的示例介绍了如何使用Facade模式来简化对复杂子系统的调用过程,使得客户端代码更加简洁且易于理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Facade模式:

为子系统中的一组接口提供一个统一接口。 Facade 模式定义了一个更高层的接口,使子系统更加容易使用。
例子:
1.DrawerOne.java
public class DrawerOne {

     public void open() {
         System.out.println(" 第一个抽 被打 ");
         getKey();
     }

     public void getKey() {
         System.out.println(" 得到第二个抽 ");
     }
}
2.DrawerTwo.java
public class DrawerTwo {
        public void open() {
               System.out.println("第二个抽屉被打开了");
               getFile();
        }
        public void getFile() {
               System.out.println("得到这个重要文件");
        }
}
则通常为了拿到“重要文件”需要如下代码实现:
public class Client {
        public static void main(String[] args) {
               DrawerOne darwerOne = new DrawerOne();
               DrawerTwo darwerTwo = new DrawerTwo();
               darwerOne.open();
               darwerTwo.open();
        }
}
但是如果使用Facade外观模式,可新建一个Facade类:
public class DrawerFacade {
    DrawerOne darwerOne=new DrawerOne();
    DrawerTwo darwerTwo=new DrawerTwo();
    public void open(){
       darwerOne.open();
       darwerTwo.open();
    }
}
则此时调用的代码修改为:
public class Client {
        public static void main(String[] args) {
            DrawerFacade drawer=new DrawerFacade();
            drawer.open();
        }
}
参考自:http://www.blogjava.net/flustar/archive/2007/11/23/facade.html
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值