java设计模式(八)——外观模式

通常我们对一件事情的一个操作,可能涉及到很多的内部操作,但是作为用户来说,并不需要清楚的知道内部的每一个操作,这个时候就用到了外观模式。


举个例子,你去学校食堂点一份红烧肉套餐(内含一份红烧肉、一份米饭、一份青菜、一份西红柿鸡蛋汤)。这个时候你只关心买一份红烧肉套餐,也就是说只设计一个食堂窗口类,并提供一个买饭接口供你调用即可(可能需要你参入套餐名:红烧肉套餐)。但实际上这个接口内部需要调用好几个类的方法,比如餐具类中的领取餐具方法、主食类中的获取主食方法、荤菜类的获取荤菜方法、蔬菜类的获取蔬菜方法、汤水类的获取汤水方法以及最后套餐包装类的包装方法等。那么这里的食堂窗口类就是我们说的外观模式,及定义用户看到的内容的一种设计模式。


可以看出,在上面的这个例子中,各个类都是有食堂窗口类关联在一起的,这样就避免了各个子功能类之间的相互调用,启到了子功能类解耦的作用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值