本文共 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/