全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

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

时间:2023-06-01 15:32

人气:

作者:admin

标签: 模式    及其  目的  外观 

导读:外观模式的目的是为类的调用提供一个统一的接口,用户只需要通过这个接口就可以实现内部复杂类的方法...

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

下例仍以画图形为例说明外观模式的用法。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();
  }
}
温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信