设计模式之门面模式

  1. 什么是门面模式(Facade)

    • 门面模式,也叫作外观模式,是一种常见的封装模式。
    • 要求一个子系统的外部与内部的通信必须通过一个统一的对象进行。
    • 门面模式提供一个高层次的接口,使得子系统更易于使用。
  2. 代码示例

    • 在我们的日常生活中,通常我们寄送信件的时候,都是通过邮局这一个统一的接口来运作的。
    • 对于寄信的我们而言,并不关心邮局怎么进行通信和寄送,简单一点,假设我们只是信的内容的提供者,那么我们只想提供给邮局他们需要的物品(信,邮票,信封),其他的具体怎么处理归邮局完善。
    • 下面的代码就是这样,对于客户端代码而言,只需要调用sendMail方法就足够了(这就是统一的门面)
package com.pattern.facade;

public class Mail {
    private String content;
    private String envolop;
    private String stamp;

    public void setContent(String content){
        this.content = content;
    }

    public void setEnvolop(String envolop){
        this.envolop = envolop;
    }

    public void setStamp(String stamp){
        this.stamp = stamp;
    }
}
package com.pattern.facade;

public class PostOffice {

    public PostOffice() {

    }

    public void sendMail(String content,String envolop,String stamp){
        Mail mail = new Mail();
        mail.setContent(content);
        mail.setEnvolop(envolop);
        mail.setStamp(stamp);
        System.out.println("send mail !");
    }
}
package com.pattern.facade;

public class Client {

    public static void main(String[] args) {
        String content = new String("this is test content");
        String envolop = new String("envolop");
        String stamp = new String("stamp");
        PostOffice postOffice = new PostOffice();
        postOffice.sendMail(content, envolop, stamp);
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值