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

来源:互联网 发布:java怎么读inputstream 编辑:程序博客网 时间:2024/06/06 00:57

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


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


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

原创粉丝点击