博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
外观模式
阅读量:805 次
发布时间:2019-03-24

本文共 1262 字,大约阅读时间需要 4 分钟。

外观模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。

本质就是化零为整;引入一个中介类,把各个分散的功能组合成一个整体,只对外暴露一个统一的接口。为了用户使用方便,把过度拆分的分散功能,组合成一个整体,对外提供一个统一的接口

在这里插入图片描述

举个例子:比如想装修房子,需要刷墙,装水电,贴地板砖,若是找一个装修公司,所有的过程都由装修公司来完成,此时装修公司就是外观角色。代码如下:

public class BrushWall {
public void task(){
System.out.println("给墙刷漆"); }}
public class PlumberAndElectrician {
public void task(){
System.out.println("装修房子的水电"); }}
public class TilingWorker {
public void task(){
System.out.println("贴地板砖"); }}
public class DecorationCompany {
private BrushWall brushWall; private PlumberAndElectrician plumberAndElectrician; private TilingWorker tilingWorker; public DecorationCompany(){
brushWall=new BrushWall(); plumberAndElectrician=new PlumberAndElectrician(); tilingWorker=new TilingWorker(); } public void decorationHouse(){
brushWall.task(); plumberAndElectrician.task(); tilingWorker.task(); }}
public class Test {
public static void main(String[] args) {
DecorationCompany decorationCompany = new DecorationCompany(); decorationCompany.decorationHouse(); }}

输出:

给墙刷漆装修房子的水电贴地板砖

转载地址:http://yyhkk.baihongyu.com/

你可能感兴趣的文章