外观模式

1、简介

外观模式(Facaed Pattern),隐藏系统的复杂性,并向客户端提供一个可访问的接口。


核心代码:在客户端和复杂系统之间加上一层,在这一层将调用顺序、依赖关系处理好。

优点:

  1. 减少了系统相互依赖
  2. 提高了系统灵活性
  3. 提高了安全性

缺点:
不符合开闭原则,改东西很麻烦,继承重写都不合适。

一个现实生活中的例子就是,病人去医院看病,可能需要挂号、抓药、输液等环节,这时如果有一个接待员,来处理这些事情,就很方便了。

2、使用

// 形状接口
public interface Shape {
	
	void draw();
}
// 形状实现
public class Circlo implements Shape{
	
	@Override
	public void draw() {
		System.out.println("Shape Circlo drawing");
	}
}
public class Sequre implements Shape{

	@Override
	public void draw() {
		System.out.println("Shape Square drawing");
	}
}

// 外观类
public class ShapeMarket {
	
	private Shape criclo;
	private Shape square;
	
	public ShapeMarket() {
		this.criclo = new Circlo();
		this.square = new Sequre();
	}
	
	public void drawCriclo() {
		criclo.draw();
	}
	
	public void drawSequare() {
		square.draw();
	}
}

// Test
ShapeMarket shapeMarket = new ShapeMarket();
shapeMarket.drawCriclo();
shapeMarket.drawSequare();
原文地址:https://www.cnblogs.com/kungFuPander/p/13474594.html