
Android设计模式
文章平均质量分 92
胡小明同学
努力成为talent
展开
-
代理设计模式在Android开发中的应用
1. 模式定义为其他对象提供一种代理以控制对这个对象的访问,分为静态代理和动态代理,代理模式也被称为委托模式,它是结构型设计模式的一种。在现实生活中我们用到类似代理模式的场景有很多,比如代理上网、打官司等。编程的思想其实有的时候和生活差不多。2. 代理模式的差异静态代理,在代码运行前就已经存在了代理类的class编译文件;而动态代理则是在代码运行时通过反射来动态地生成代理类的对象,并确定到底...原创 2020-01-18 23:14:08 · 349 阅读 · 0 评论 -
观察者设计模式在Android开发中的应用
1. 模式定义定义对象间一种一对多的依赖关系,每当一个对象改变状态时,则所有依赖于它的对象都会得到通知并被自动更新。2. Android 源码中的观察者模式应用在 Android 的源码中,我们接触比较多的应该是 RecyclerView 和 ListView 了,和其搭配使用的 Adapter,有 刷新列表的 notifyDataSetChanged() 方法,那么,该方法是怎样刷新列表...原创 2020-01-16 16:27:37 · 330 阅读 · 0 评论 -
策略设计模式在Android开发中的应用
1. 模式定义定义一系列的算法,把每一个算法封装起来,并且使它们可相互替换。策略设计模式使得算法可独立于使用它的客户而独立变化。2. 策略示例假如我们要做一款理财产品,有支付宝和微信两个支付渠道,两个渠道的金额算法不一样,这时再来了一个工行支付渠道又或者后面再来多几个渠道,而当每个渠道的金额算法不一样的时候,这时使用策略设计模式将各个渠道的金额算法封装起来,即可条理清晰,万一某个渠道的算法...原创 2020-01-15 15:28:28 · 236 阅读 · 0 评论 -
装饰设计模式在Android开发中的应用
1. 模式定义装饰设计模式也称包装设计模式,用来动态的扩展对象的功能,也是继承关系的的一种替代方案之一。在不使用的继承的方式下,采用装饰设计模式可以扩展一个对象的功能,可以使一个对象变得越来越强大。2. Android 源码的学习和思考相信用过 ListView 的朋友都知道,ListView 有自带的方法可以添加 header 和 footer,那么 ListView 是怎样做到的呢?L...原创 2020-01-14 20:26:44 · 335 阅读 · 0 评论 -
工厂设计模式在Android开发中的应用
1. 模式定义定义一个创建对象的接口,让子类决定实例化哪个类,而对象的创建统一交由工厂去生成,有良好的封装性,既做到了解耦也保证了最少知识原则。工厂就是用来生成对象的,把对象的实例化和初始化封装起来。下面以数据存储为例介绍工厂设计模式的用法。2. 简单工厂模式定义数据操作接口(产品接口)public interface IOHandler { /*************save...原创 2020-01-11 23:28:39 · 298 阅读 · 0 评论 -
Builder设计模式之构建万能Dialog
一. Builder设计模式 定义 将一个复杂对象的构建与它的表示分离,使得不同的构建过程可以创建不同的显示,但其根本还是不变。使用场景 1、相同的方法,不同的执行顺序,产生不同的事件结果时; 2、多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不相同时; 3、产品类非常复杂,或者产品类中的调用顺序不同产生了不同的效能,这个时候使用建造者模式非常合适。UML图原创 2017-07-02 14:25:00 · 972 阅读 · 0 评论 -
Android 设计模式之代理模式
一、代理模式的介绍 定义:为其他的对象提供一种代理,控制这个对象的访问。 使用场景:当无法或者不想直接访问某个对象后者访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,委托对象与代理对象需要实现相同的接口。 角色划分:目标接口、目标对象、代理对象 实现方式:静态代理、动态代理在我们的平时开发中,所使用的一些开源框架也有应用,如 XUt...原创 2018-04-15 17:33:19 · 317 阅读 · 0 评论