Java设计模式——外观模式(门面模式)(Facade)

本文深入解析Java中的外观模式,通过实例展示了外观类如何提供接口,简化子系统的使用。重点阐述了外观类与示例类的区别,包括应用场景、功能特点等,并以EncryptFacade类为例,说明了如何利用外观类封装复杂操作,便于用户调用。

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

外观模式意图为子系统提供一个接口,方便使用
外观类、工具类和示例类
外观类可能全是静态方法
示例类展示如何使用类和子系统
示例类和外观类的区别:
1、示例类通常是单独运行的应用程序,而外观类不是
2、示例类包含了样例数据,外观类没有
3、外观类通常是可配的,示例类不是
4、外观类的意图是为了重用,示例类不是
5、外观类用在产品代码中,示例类不是
Java中外观类比较少,原因是
1、Java开发者通常要求对库中的工具做整体的了解,外观模式可能会限制这种运用系统方式。
2、Java类库提供的外观类很少。
这里写图片描述

public class EncryptFacade {

    private FileReader reader;
    private FileWriter writer;
    private CipherMachine cipher;

    public EncryptFacade(){
        reader = new FileReader();
        writer = new FileWriter();
        cipher = new CipherMachine();
    }

    public void fileEncrypt(String fileNameSrc,String fileNameDesc){
        String plainStr = reader.read(fileNameSrc);
        String encryptStr = cipher.encrypt(plainStr);
        writer.writer(encryptStr,fileNameDesc);
    }
}
/**
     * @author 付玉伟
     * @time 2015-2-7 上午11:26:09
     * @param args
     */
    public static void main(String[] args) {
        EncryptFacade facade = new EncryptFacade();
        facade.fileEncrypt("文件加密", "外观模式");
    }

我只需要调用封装好方法,并给用户提供可用的接口,至于接口里面的方法是怎么实现不需要展示给用户。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值