美文网首页
Retrofit的设计模式 -- 外观模式

Retrofit的设计模式 -- 外观模式

作者: gzfgeh | 来源:发表于2016-12-17 21:27 被阅读42次

特点

个人理解外观模式就是两个字: 封装.

Paste_Image.png
  1. 一个大模块本身包含很多小模块,这些小模块本身是对外屏蔽的.
  2. 各个模块可以通过这个大模块进行很好的通信,减少了相互间的依赖.
  3. 使用者只是使用一个大模块对象,成本低.
  4. 如果后期子模块有改动或者替换,只要不改动大模块对外的接口,对使用者来说不受任何影响,体现了开闭原则.

缺点

因为一个大模块包含那么多小模块,需要把各个模块的功能都提供出去,这样很容易导致大模块的API很多,导致接口膨胀.

使用Demo

因为公司APP使用了Hybird的开发方式,所以使用了大量的WebView,每一个WebView页面都会涉及到加载中、加载失败、网络异常、正常显示、异常显示自定义错误页面、缓存处理等情况,并且业务还需要加上下拉刷新,因为是重复操作并且WebView和下拉刷新之间有通信,所以非常符合外观模式的场景,就封装了一个控件出来GitHub地址GWebView

webview.gif

本控件特点:

  1. 封装了WebView中一些繁琐的设置,比如WebSettings、WebViewClient、WebChromeClient等,并且如果默认设置不满足要求也可以自定义.
  2. 下拉头本来用的SwipeRefreshLayout,因为产品经理不喜欢那个下拉头,所以在此基础上改造了一下,如果不能满足要求,这个下拉头也可以自定义.
  3. SwipeRefreshLayout和�WebView的滑动冲突已经解决,就是加一层布局ScrollView,并且封装了他们直接滑动的逻辑.
  4. 布局中增加了默认的加载中、加载失败、无网络布局,这样不用每次都判断,同上也提供了自定义接口.

总结

特点:封装
就是把各个模式组合在一起,能更好的使用,避免繁琐的每次配置,并且各个模式也可以更好的通信,最好的体现就是第三方SDK.

相关文章

  • Retrofit的设计模式 -- 外观模式

    特点 个人理解外观模式就是两个字: 封装. 一个大模块本身包含很多小模块,这些小模块本身是对外屏蔽的. 各个模块可...

  • 11.5设计模式-外观模式-详解

    设计模式-外观模式 retrofit。引入一个外观角色,来简化客户端与系统之间的交互。加快功能速度,降低系统的复杂...

  • Retrofit

    Retrofit设计模式 动态代理,装饰模式,建造者模式,抽象工厂模式,适配器模式 建造者模式创建Retrofit...

  • Retrofit源码设计模式解析(下)

    本文将接着《Retrofit源码设计模式解析(上)》,继续分享以下设计模式在Retrofit中的应用: 适配器模式...

  • 设计模式[9]-外观模式-Facade Pattern

    1. 外观模式 外观模式(Facade Pattern),又称为门面模式,是非常常用的结构性设计模式。外观模式使得...

  • java设计模式-外观模式(Facade)

    外观模式,属于结构性模式。属于设计模式里面比较简单的设计模式,本人认为是最简单的设计模式。 所谓外观,就是我们能看...

  • Android设计模式——外观模式(七大结构型)

    1.外观模式介绍 外观模式(Facade Pattern),是七大结构型设计模式之一。 外观模式运...

  • 设计模式之-4.外观模式

    每看一次设计模式,感觉每一个设计模式看起来是那么简单,对于外观模式我的理解就是外观模式:外观模式,这个名字起得不怎...

  • Retrofit的使用之设计模式

    使用的设计模式有: 动态代理 门面模式 适配器模式创建流程创建流程 创建Retrofit 首先构造retrofit...

  • 了解外观模式

    java 设计模式 ------外观模式 Java中一共有23种设计模式,每种设计模式各有特...

网友评论

      本文标题:Retrofit的设计模式 -- 外观模式

      本文链接:https://www.haomeiwen.com/subject/mqbomttx.html