【设计模式】外观模式

1. 分类

  • 结构型模式
    • 核心作用:是从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题
    • 分类:

2. 简介

  • 迪米特法则(最少知识原则):
    • 一个软件实体应当尽可能少的与其他实体发生相互作用
  • 外观模式核心:
    • 为子系统提供统一的入口。封装子系统的复杂性,便于客户端调用

3. 代码Demo

创建买菜过程类

public class 出门 {

	public void test() {
		System.out.println("出门");
	}

}
public class 讲价 {

	public void test() {
		System.out.println("讲价");
	}

}
public class 付钱 {

	public void test() {
		System.out.println("付钱");
	}

}
public class 回家 {

	public void test() {
		System.out.println("回家");
	}

}

创建负责买菜的类

public class 儿子买菜 {
	private 出门 出门 = new 出门();
	private 讲价 讲价 = new 讲价();
	private 付钱 付钱 = new 付钱();
	private 回家 回家 = new 回家();

	public void test() {
		出门.test();
		讲价.test();
		付钱.test();
		回家.test();
		System.out.println("儿子买菜完成");
	}

}

创建想要获取菜的类

public class 妈妈 {
	public static void main(String[] args) {
		儿子买菜 儿子 = new 儿子买菜();
		儿子.test();
	}
}

控制台打印

出门
讲价
付钱
回家
儿子买菜完成

  • 开发中常见的场景
    • 频率很高。哪里都会遇到。各种技术和框架中,都有外观模式的使用,如:
      • JDK封装后的,commons提供的DBUtils类,Hibernate提供的工具类、Spring JDBC工具类等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值