外观模式

1可以理解成一个适配器包装多个适配者

2:打个比方说:

电脑开机:里面有加载驱动接口,加载启动项接口,加载....接口,反正开机是一个很复杂的过程,而外观模式就是告诉你,不要去管那些复杂的东西,你只要找到按下电源就是开机就好了.。

3:定义:提供一个统一的接口,用来访问子系统的一群接口,类似于宏命令。

4涉及原则

最少知识原则(迪米特法则):只和你的密友交流,意思就是减少类之间的依赖

 

好处:减少对象之间依赖

坏处:更多的包装类被制造出来,增加代码复杂度,开发时间,降低运行性能

5 好处:

简化接口

将客户从子系统中解耦

 

 

案例:

比如吃饭这件事,我们只要调用吃饭方法就行,(外观模式)

 

public class ZuoFan {
	public void play() {
		System.out.println("做饭");
	}
}

public class ZuoCai {
	public void play() {
		System.out.println("做菜");
	}
}
public class XiWang {
	public void play() {
		System.out.println("洗碗");
	}
}
public class XiKuai {
	public void play() {
		System.out.println("洗筷子");
	}
}
public class XiCai {
	public void play() {
		System.out.println("洗菜");
	}
}



外观模式
public class ChiFan {
	XiCai XiCai=null;
	XiKuai XiKuai=null;
	XiWang XiWang=null;
	ZuoCai ZuoCai=null;
	ZuoFan   ZuoFan=null;
	
	public ChiFan() {
		XiCai = new XiCai();
		XiKuai = new XiKuai();
		XiWang = new XiWang();
		ZuoCai = new ZuoCai();
		ZuoFan = new ZuoFan();
	}



	public void eat() {
		XiCai.play();
		XiKuai.play();
		XiWang.play();
		ZuoCai.play();
		ZuoFan.play();
		System.out.println("---------");
		System.out.println("吃饭");
	}
}

测试

	public static void main(String[] args) {
		ChiFan ChiFan=new ChiFan();
		ChiFan.eat();
	}

结果:
洗菜
洗筷子
洗碗
做菜
做饭
---------
吃饭

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值