摘要:
前言 前面写完策略模式,接着写状态模式;在开始接触这两个模式的时候我也很疑惑,这两个设计模式很相似,用法也很类似。好一段时间我都没有区分这两者的区别。在使用的时候也不知道怎么选择,后来慢慢的加深理解也就总结出规律了。先看看状态模式的经典结构 状态模式介绍 《Android源码设计模式解析与实践》 定 阅读全文
摘要:
《Android源码设计模式解析与实践》 定义 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化 使用场景 针对同一类型问题的多种处理方式。仅仅是具体行为有差别时 需要安全地封装多种同一类型的操作时 出现同一抽象类有多个子类,而 阅读全文
摘要:
前两篇是类内部实现,LruPoolStrategy的实现不同于前面两篇,它是继承实现的,先看看LruPoolStrategy的源码 LruPoolStrategy 包路径:com.bumptech.glide.load.engine.bitmap_recycle.LruPoolStrategy in 阅读全文
摘要:
策略模式二 DownsampleStrategy 包路径:com.bumptech.glide.load.resource.bitmap.DownsampleStrategy 指示对图像进行下采样时使用的算法。 DownsampleStrategy不提供任何关于输出大小的保证。行为将不同,取决于Re 阅读全文
摘要:
定义 《大话设计模式》|策略模式 策略模式(Strategy):定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户 菜鸟教程|设计模式 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型 阅读全文
摘要:
参考阅读: Glide多种组合使用方式记录–没有全部亲测,大家可以根据实际需要选用 Glide设计模式之工厂模式1【ModelLoaderFactory】 Glide设计模式之工厂模式2【DiskCache.Factory】 Glide工厂模式3【TransitionFactory】【Transit 阅读全文
摘要:
参考阅读: Glide多种组合使用方式记录–没有全部亲测,大家可以根据实际需要选用 Glide设计模式之工厂模式1【ModelLoaderFactory】 Glide设计模式之工厂模式2【DiskCache.Factory】 Glide工厂模式3【TransitionFactory】【Transit 阅读全文
摘要:
参考阅读: Glide多种组合使用方式记录–没有全部亲测,大家可以根据实际需要选用 Glide设计模式之工厂模式1【ModelLoaderFactory】 Glide设计模式之工厂模式2【DiskCache.Factory】 Glide工厂模式3【TransitionFactory】【Transit 阅读全文
摘要:
参考阅读: Glide多种组合使用方式记录–没有全部亲测,大家可以根据实际需要选用 Glide设计模式之工厂模式1【ModelLoaderFactory】 Glide设计模式之工厂模式2【DiskCache.Factory】 Glide工厂模式3【TransitionFactory】【Transit 阅读全文
摘要:
定义 在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查。Null 对象不是检查空值,而是反应一个不做任何动作的关系。这样的 Null 对象也可以在数据不可用的时候提供默认的行为。 在空对象模式中,我们创建一个指定各种要执行的操作的抽象类和扩展该类的实 阅读全文