18. Facade模式

是什么

在调用大程序进行处理时,需要注意那些数量庞大的类之间复杂的关系,如果为这个大程序提供一个简单的窗口,就可以隐藏很多的复杂性。整理出窗口的方式就是Facade模式的应用。

使用Facade模式可以为互相关联的类整理出高层接口(API),其中Facade角色可以让系统对外只有一个简单的接口。

实际上这个Facade模式就相当于一个工具类,把复杂的逻辑和涉及的类封装起来,只提供简单明了的接口。

  • 类图
image

总结

Facade模式可以让复杂的东西看起来简单,因为它将复杂的东西隐藏在内部,只公开了简单易用的接口,使得接口变少了。

接口变少意味着程序与外部的关联弱化了,这样更容易使得我们的包作为组件被复用。
在设计类时,我们需要考虑哪些方法的可见性设为public,如果公开的方法或字段太多,就会导致修改变得困难,因为一旦公开出去,代码就变得不可控,因为我们无法知道其他的类是如何使用这些方法和字段的。这也是需要封装的意义。

抽象工厂模式可以看作是生成复杂实例的Facade模式,提供了简单的接口来对应复杂的逻辑。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • 原文地址在我的博客, 转载请注明出处,谢谢! 最近刚刚实习结束回到学校,陆续见到了很多朋友和同学。在与他们的交谈中...
    莫凡_Tcg阅读 3,143评论 0 0
  • 终于,我桌子上的那盆袖珍椰子,在芜湖的冬天里结束了它的生命历程,在灯光的照耀下,再也没有了水露般的晶莹剔透,剩下的...
    H雪窗帘阅读 392评论 0 3
  • 作为《变形金刚》系列当中的人气角色,大黄蜂的个人电影确定开拍之后吸引了众多网友和粉丝的注意。日前,官方公开了电影的...
    肥宅拯救世界阅读 1,379评论 0 0
  • 其实没有什么公平不公平,只是在于你努力不努力罢了。 ——牟星宇 不要因为自己的懒惰而...
    小傻小妞儿阅读 455评论 0 1