大家都小看了DataBinding!

作者: 布吃饺子 | 来源:发表于2018-05-17 19:42 被阅读46次

    目前大家用dataBinding给人的感觉就是拿着长枪当木棒
    优秀的人一直在努力减少重复工作量

    DataBinding简介

    DataBinding是2015年谷歌I/O大会上介绍了一个框架,DataBinding是一个数据绑定框架,将数据与布局相绑定。

    DataBinding常见使用场景

    单纯的摆脱findviewbyid
    绑定基本数据类型及String、object
    绑定事件
    通过静态方法转换数据类型
    通过运算符操作数据
    自定义Binding的类名
    绑定相同Model的操作
    model变量改变自动更新数据
    绑定List/Map等集合数据
    Observable自动更新
    Databinding与include标签的结合
    DataBinding与RecyclerView的结合
    具体就不细说了,参考

    databinding常用场景感悟

    databinding将布局与数据相互结合,如此一来不需要在adapter中去写相关逻辑,而是将item对应view与相应逻辑相互绑定。
    这一点很重要,由这个感悟可以得出以下一点。

    databinding与视图模板

    在一个常规项目中,使用列表视图的界面至少有三个,而这三个视图,

    新手:

    需要写三个recyclerView,三个adapter,三个itemLayout,在相应的地方各自编写

    熟练:

    需要写一个recyclerView,三个adapter,三个itemLayout,在相应的地方new出来

    老手:

    需要写一个recyclerView,一个adapter,三个itemLayout,三个createViewHolder和bindViewHolder

    小牛:

    只需要调用一个recyclerViewManager,并设置layoutBinding。
    为什么只需要一个recyclerViewManager?
    因为这个manager将recyclerView和adapter都封装好了,只提供一个设置LayoutBinder的方法供调用者使用。因为layoutBinder已经包含了item视图的相关逻辑,除了这里是不同的意外,其他的地方,一摸一样,既然一摸一样,那就可以抽取出模板复用。
    也就是说他早已经创造了一个模板,而三个界面,都只需要调用这个模板,再给他套一个画皮就可以了。
    如此大大减少了工作量。

    coder的实力评估

    代码可读性、可维护扩展性、代码的复用、造轮子的能力。
    很遗憾,很多人写出来的代码,在以上四个方面都不咋样。
    哈哈哈哈哈,me too.


    欢迎关注我的微信公众号:云端看大地

    云端看大地

    相关文章

      网友评论

        本文标题:大家都小看了DataBinding!

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