0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

外观模式的目的及其设计方案

冬至子 来源:全栈开发的码农 作者:全栈开发的码农 2023-06-01 15:32 次阅读

外观模式的目的是为类的调用提供一个统一的接口,用户只需要通过这个接口就可以实现内部复杂类的方法,无须详细了解内部复杂类的具体实现方式,降低系统调用的复杂度。

下例仍以画图形为例说明外观模式的用法。Shape接口类有两个实现类Circle和Rectangle,其内部具体的画圆和画矩形可能较为复杂,为此,设计了一个外观类ShapeMaker,通过ShapeMaker类的调用就可以实现画圆和画矩形的功能,用户完全不需要了解Circle和Rectangle类的内容代码。

外观模式常用于应用程序的对外接口设计,通过设计一个外观类,不了解应程序内部代码的人也可以轻松应用程序的相关功能,有利于程序的模块化设计。

图片

Shape接口类:

package facade;
public interface Shape {
  public void draw();
}

Circle实现类:

package facade;
public class Circle implements Shape{
  @Override
  public void draw() {
    System.out.println("画圆形");  
  }
}

Rectangle实现类:

package facade;
public class Rectangle implements Shape{
  @Override
  public void draw() {
    System.out.println("画矩形");  
  }
}

ShapeMaker外观类:

package facade;
public class ShapeMaker {
  private Shape circle;
  private Shape rectangle;
  public ShapeMaker() {
    circle=new Circle();
    rectangle=new Rectangle();
  }
  public void circleDraw() {
    circle.draw();
  }
  public void rectangleDraw() {
    rectangle.draw();
  }
}

主函数调用方式:

package main;
import facade.*;
public class FacadePattern {
  public static void main(String[] args) {
    ShapeMaker shapeMaker=new ShapeMaker();
    shapeMaker.circleDraw();
    shapeMaker.rectangleDraw();
  }
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • printf函数
    +关注

    关注

    0

    文章

    31

    浏览量

    5882
收藏 人收藏

    评论

    相关推荐

    基于FPGA的I2C SLAVE模式总线的设计方案

    本文以标准的I2C 总线协议为基础,提出了一种基于FPGA的I2C SLAVE 模式总线的设计方案方案主要介绍了SLAVE 模式的特点。给出了设计的原理框图和modelsim 下的行
    发表于 02-26 11:39 1.4w次阅读

    百灵鸟电路的设计方案

    百灵鸟电路的设计方案电子技术综合课程设计报告一、综合设计的目的与要求:设计一百灵鸟电路,要求:A:在不同的光照下发出高低变化的鸣叫声;B:周期性的鸣叫 T=2~3秒。
    发表于 12-16 11:47

    一种实用的单片机双CPU设计方案及其应用

    一种实用的单片机双CPU设计方案及其应用
    发表于 08-10 01:00

    【资料分享】STM32设计方案与示例分享 第一波

    本帖最后由 我是大彭 于 2014-3-12 15:52 编辑 STM32设计方案与示例分享第一波分享一下基于STM32单片机的数据记录装置设计方案基于STM32的多路电压测量设计方案嵌入式
    发表于 03-12 14:47

    车载显示技术及其应用方案~

    的仪表不断在汽车上应用。下列介绍民用汽车中常见的车载显示技术及应用,并阐述其设计方案。仪表盘设计解决方案:详述基于TMS470PLF221RFPQ1的高端带汽车仪表盘方案详述为嵌入式图形应用选择合适
    发表于 12-15 14:19

    基于单片机控制的开关电源及其设计方案

    很实用的基于单片机控制的开关电源及其设计方案
    发表于 06-22 12:23

    直立行车参考设计方案

    直立行车参考设计方案
    发表于 08-17 12:19

    STM32设计方案与示例分享

    都是经典项目,建议下载学习STM32设计方案与示例分享 第一波stm32设计方案与示例分享第二波STM32计方案与示例分享 第三波STM32计方案与示例分享 第四波
    发表于 09-03 18:52

    变频器有哪些设计方案

    了非常广泛的应用。本文为大家介绍几种变频器的设计方案,包含完整软硬件方案。基于Simulink的数字下变频器设计及其FPGA实现
    发表于 08-28 07:42

    一种实用的单片机双CPU设计方案及其应用

    一种实用的单片机双CPU设计方案及其应用:针对传统仪表具有的硬件资源不足、速度慢等功能缺陷,提出了一种基于单片机的CPU设计方案,即扩展CPU,直接从主CPU对应的数据显示I/O口上获
    发表于 08-26 19:15 35次下载

    新型高性能锂离子电池充电器的设计方案

    新型高性能锂离子电池充电器的设计方案   摘要:介绍了新型高性能充电组合电路(充电器)的设计方案及其功能和特点,
    发表于 07-15 08:03 557次阅读
    新型高性能锂离子电池充电器的<b class='flag-5'>设计方案</b>

    耳温枪设计方案设计

    耳温枪设计方案设计耳温枪设计方案设计耳温枪设计方案设计
    发表于 11-13 15:58 0次下载

    并网逆变器的设计方案

    并网逆变器的设计方案并网逆变器的设计方案并网逆变器的设计方案
    发表于 01-11 14:04 22次下载

    芯片设计公司ARM推出了新的授权模式,尝试不同的芯片设计方案

    据外媒euronews报道,为了寻求更多的客户,日前,芯片设计公司ARM推出了新的授权模式,将允许芯片厂商在支付最终选择费用前尝试不同的芯片设计方案
    的头像 发表于 07-23 10:28 4231次阅读
    芯片设计公司ARM推出了新的授权<b class='flag-5'>模式</b>,尝试不同的芯片<b class='flag-5'>设计方案</b>

    模式电源管理IC的低功耗设计方案

    针对降低多模式电源管理IC在轻载与待机工作模式下功耗,提高其全负载条件下工作效率的需要,提出一种电源管理IC供电系统的设计方案,实现了其在启动、关断、重载、轻载以及待机等各种工作情况下的高效率低功耗工作。
    的头像 发表于 05-20 09:50 3918次阅读