外观模式解读

外观模式是什么?

    它是一个系统对外提供访问的一个统一的入口(外观类),该入口会整体糅合完成你所需要的功能或者业务。

    这个入口隐藏了子系统完成所需要功能的复杂性,可以使得子系统对外来说更加容易调用。

主要解决的是:

    降低访问内部系统的复杂联系,简化客户端调用系统的接口。

客户端调用方面:

    不需要知道系统内部有多么复杂,整个系统只需要提供一个解决问题的入口就行了。

    所以子系统和客户端是解耦的,但是相对入口的外观类来说切不是,因为有所关联。



那么外观模式的使用场景:

第一为复杂的模块或子系统提供外界访问模块。

第二子系统相对独立。

预防低水平开发人员带来的风险。

好处:

    对客户屏蔽子系统组件,减少了客户处理的对象数目并使得子系统使用起来更加容易

    只是提供了一个访问子系统的统一入口,并不影响用户直接使用子系统类。

缺点:

    1. 不能很好的扩展程序的功能,如果要扩展的话就得修改外观类代码

    2. 不能很好的限制客户端的使用子系统功能,缺少程序可变性和灵活性



一般情况客户端调用的话是这样的:


外观模式的话是糅合功能,只提供一个入口


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

推荐阅读更多精彩内容

  • 1 场景问题# 1.1 生活中的示例## 外观模式在现实生活中的示例很多,比如:组装电脑,通常会有两种方案。 一个...
    七寸知架构阅读 6,300评论 7 57
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,937评论 18 139
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,009评论 3 119
  • 不知什么时候开始,网络上流行着一种很有特色的称谓,渣男。 说起渣男,很多人都是嗤之以鼻甚至是怒火相向的,避之唯恐不...
    敬先生阅读 1,031评论 0 2
  • 产品能力就是训练一个人-判断信息,抓住重点,整合有限的资源,把自己的价值打包成一个产品,向世界交付,并获得回报。 ...
    一枚产品阅读 1,218评论 0 2