
设计模式
文章平均质量分 76
向往自由美好的孙先森
这个作者很懒,什么都没留下…
展开
-
Gradle - 组件化之 build优化
1 组件分层:一般划分3-4层:1 app(壳 入口)2 业务组件层 :application/library3 功能组件层:application/library4 基础组件层:library业务组件层与功能组件层区别:业务层只能用在该项目内,而功能组件层是独立的功能模块可以运用于其他项目,比如推流模块,播放模块等。2 以文件夹的形式去管理module,方便查找代码。2 进行每层核心模块/组件的开发封装基础配置类commmon.gradle每个module依...原创 2021-06-29 17:50:13 · 310 阅读 · 0 评论 -
动态代理原理解析
之前有一篇设计模式的文章说过了代理模式。这一篇是对之前的补充跟深入。1 为什么需要学习动态代理1.动态代理能够增加程序灵活度,如加入 方法执行前后判断2 完美解决解耦问题,动态代理可以将调用层与实现层分离,如Retorfit网络请求3 动态代理不需要接口的实现类,如 适用于 IPC进程通信,将方法调用转成其他逻辑1.动态代理不需要接口的实现类,如 适用于 IPC进程通信,将方法调用转成其他逻辑4 动态代理可以解决 程序执行流程,如今天讲的事件转到activity执行动态代理含义1原创 2021-06-28 19:01:23 · 2112 阅读 · 0 评论 -
设计模式(六)代理模式
我们在Android开发种经常会在源码中看到动态代理,今天我们就来聊聊代理模式。代理模式是干嘛的呢? 代理模式可以在不改变原有类逻辑代码的情况下,操控该类对该类,可以对该类的进行功能上修改或增强。...原创 2020-05-01 21:10:22 · 201 阅读 · 0 评论 -
设计模式(五)装饰者
装饰者模式是对一个已经存在的类进行功能上的增加,但是不去修改原类的逻辑代码,适用于对类的扩展。接下来举一个 武林中的例子。张无忌刚出场的时候啥武功都不会是个小白。public interface KongfuSecretBook { public void getKongfu();}public class Zwj implements KongfuSecretBo...原创 2020-04-22 11:10:28 · 118 阅读 · 0 评论 -
设计模式(四)适配器
今天来介绍下适配器模式,我来举一个nba的例子。金州拉文-斯蒂芬库里是nba历史上最优秀的三分手,但是他同样拥有一个扣篮梦,可是经常在赛场上扣篮失败,成功进入五大囧。拉文是优秀的扣将,经常在赛场上表演精彩的扣篮。那么怎么让库里可以拥有拉文一个的扣篮技术呢,这就需要使用适配器模式。public interface Play2Points { void shoot2();}...原创 2020-04-21 15:29:15 · 1197 阅读 · 0 评论 -
设计模式(一)单例
单例是项目中最常见的设计模式之一,今天就来讲讲几种常见的单例写法和使用场景1 懒汉式为什么叫懒汉,意思就是在使用的时候才开始判断是否有实例。public class TestA { private static TestA testA; public static TestA getInstance() { if (testA != null) {...原创 2020-04-18 17:53:06 · 333 阅读 · 0 评论 -
设计模式(二)工厂
工厂模式是我们项目中经常使用的一种设计模式,它的使用把实例化的过程从业务中分离出来交给了一个工厂类。下面来介绍常用的几种工厂模式。1 简单工厂一个抽象接口,多个实现类,一个工厂类public class TaskFactory { public final static int TASK_A_CODE=1; public final static int TA...原创 2020-04-19 16:50:37 · 154 阅读 · 0 评论 -
设计模式(三)策略模式
策略模式是一种行为模式,我们就从字面意思上来慢慢道来。中国历史中有很多军事家都会使用策略,今天我就拿诸葛亮来说一说。曹操要来打刘备啦,刘备慌得一笔,询问军师诸葛亮有何策略来破敌人。public interface ResistStrategy { public void resist();//抵御}诸葛亮给了刘备三个锦囊,如以下三个策略public clas...原创 2020-04-21 14:55:42 · 151 阅读 · 0 评论