JeremyZJM 2018-12-21
本头条号@牛旦教育IT课堂 已发表的结构类设计模式,请查阅:
设计模式:结构类之组合模式(Composite)应用场景和代码示例
设计模式:结构类之装饰模式(Decorator)意图场景和代码示例
设计模式:结构类之桥接模式(Bridge)应用场景和代码示例
{=重点=}:
放送两本中文版设计模式电子书籍,领取方式:
2.发送私信,发送内容为“设计模式”四个字,即可获得如下两本书:
《图解设计模式》与《Head First 设计模式》
外观模式主要是为了为一组接口提供一个一致的界面。从而使得复杂的子系统与用户端分离解耦。
有点类似家庭常用的一键开关,只要按一个键,台灯卧室客厅的灯都亮了。虽然他们各有各自的开关,但是对外用一个来控制。
1 为复杂系统 提供简单的接口。
2 客户程序与抽象类的实现部分分离。
3 构建层次系统时,用作入口。
对外的统一接口
class Facade{ public void operation(){ subsystemClass1.operation(); subsystemClass2.operation(); } }
subsystem Class 内部系统的实现类
class subsystemClass1{ public static void operation(){ System.out.println("subsystemClass1 operation()"); } } class subsystemClass2{ public static void operation(){ System.out.println("subsystemClass2 operation()"); } }
package com.nd.facade; class Facade{ public void operation(){ subsystemClass1.operation(); subsystemClass2.operation(); } } class subsystemClass1{ public static void operation(){ System.out.println("subsystemClass1 operation()"); } } class subsystemClass2{ public static void operation(){ System.out.println("subsystemClass2 operation()"); } } public class Client { public static void main(String[] args) { Facade facade = new Facade(); facade.operation(); } }
subsystemClass1 operation() subsystemClass2 operation()
本问主要介绍了外观模式的目的和应用场景,以及代码的设计结构,偏重于理解其应用场景和意图以及模式,所以示例相对简单。
好了,都看到这了,记得关注本头条号@牛旦教育IT课堂,发送私信:设计模式 ,来领取两本设计模式的电子书吧——《图解设计模式》与《Head First 设计模式》。