美文网首页
Android Context与装饰器模式

Android Context与装饰器模式

作者: 丸子不爱吃丸子 | 来源:发表于2019-10-17 14:27 被阅读0次

    Context

    从开始写Android程序的那一天也就我们就知道了有context的存在,本猿当时一直好奇context是什么东西,在后来的学习中逐渐明白了context的重要性,但一直没有写下来好好总结一下。

    从最初的上下文我理所当然认为上下文就是为了让程序员调用方便,快速编程,后来思索为什么要搞一个context,为什么不搞其他的东西来代替context为什么要把context设计出来,保持着存在即合理的态度我们去追寻google当时的设计思想。

    当我们终有一天搞清除了Activity,Service,Application都是context的时候就好奇为什么google要这样设计。

    当在网络博客里看了context类图,我们就好奇这个设计模式

    装饰器模式:
    装饰器模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰器模式比生成子类更为灵活;它允许向一个现有的对象添加新的功能,同时又不改变其结构

    看一下装饰器模式的类图


    装饰器模式.jpg

    继续看一下Context的类图


    Context.jpg

    关于装饰器模式

    装饰器模式出现还是为了解决过多的继承,举个栗子:
    Google现在有Android系统,然后衍生出来很多 如: Android1, Android2, Android3.。。。
    类图如下,我们发现这样的类很难管理,当android子类型越来越多,目前使用集成的方法很难适配接下来的工作了,因为每个衍生Android都有自己的特色


    android.jpg

    由于Android1,2,3是逐渐递增的,所有走一个分支
    Android thin 与 Android auto是Android lite下的一个子类,又各自又特色
    于是我们改造一下


    android2.jpg

    这个是利用继承与组合达到的一个最优解。

    其实这里没有多么复杂的设计也没有什么高深的技术,就是利用继承与组合完成了。

    相关文章

      网友评论

          本文标题:Android Context与装饰器模式

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