设计模式&架构
晓果博客
You’ll never realize how strong you are until you have no other choice but to be strong<br>你永远都不会知道自己到底有多坚强,直到有一天你除了坚强别无选择。
展开
-
阿里ARouter路由核心原理(打造一个自己的路由)
到目前为止,相信市面上大多数android开发人员都有使用过阿里ARouter在自己的项目中,那么ARouter是如何实现解耦的呢?下面我们来实现一个简版的ARouter路由(HRouter)。首先创建两个java Librayhrouter_annotations:为创建注解使用hrouter-complier:为注册注解处理器使用创建注解类Route//声明注解是放...原创 2019-12-06 18:44:40 · 4625 阅读 · 1 评论 -
android设计模式—观察者设计模式
定义 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。 这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。角色抽象主题(Subject)角色 抽象主题角色把所有对观察者对象的引用保存在一个聚集(比如ArrayList对象)里, 每个主题都可以有任何数量的观察者。抽象主题提供一个接口, 可以增加和删除观察者...原创 2019-03-07 17:42:35 · 255 阅读 · 0 评论 -
android设计模式—模板方法设计模式
定义 定义一个操作中的算法框架,而将一些步骤延迟到子类中, 使得子类不改变算法的结构即可重复定义算法的某些特点步骤。角色 AbstractClass抽象类,定义算法结构,还可以提供通用实现 ConcreteClass具体实现类,选择性的重定义算法中某些特定步骤解决的问题 一些方法通用,却在每一个子类都重新写了这一方法。优缺点 优点: 1、封装不变...原创 2019-03-07 14:07:09 · 261 阅读 · 0 评论 -
打造属于自己的IOC注解框架
效果java注解-ElementType详解java中元注解有四个: @Retention @Target @Document @Inherited; @Retention:注解的保留位置 (什么时候生效) //注解仅存在于源码中,在class字节码文件中不包含 @Retention(RetentionPolicy.SOURCE) ...原创 2018-06-20 22:32:19 · 2854 阅读 · 0 评论 -
android 面向切面(AOP)编程简例
关于AOP编程网上有很多介绍,这里就只介绍一个例子,讲述怎么使用吧!主要的目的还是为了保存aspectjrt在android中的配置,方便查找这里以判断网络为例(个人感觉AOP最好用的就是代替代码中大量的if-else重复判断)首先配置aspectjrt在项目的build.gradle中进行配置buildscript { repositories { ...原创 2018-06-25 18:25:39 · 3311 阅读 · 0 评论 -
android设计模式—命令设计模式
定义:将请求封装成一个对象,从而让用户使用不同的请求吧客户端参数化。请求排队或者记录请求日志,以及支持可撤销的操作。模式的使用场景: 1.系统需要将请求调用者和请求接收者解耦,使得调用者和接收者不直接交互。 2.系统需要在不同的时间指定请求、将请求排队和执行请求。 3.系统需要支持命令的撤销(Undo)操作和恢复(Redo)操作。 4.系统需要将一组操作组合在一起。角...原创 2019-03-06 17:46:36 · 295 阅读 · 0 评论 -
android设计模式—建造者(Builder)设计模式
定义: 将一个复杂的构建与他的表示分离,使得同样的构建过程可以创建不同的表示建造者模式通常包括下面几个角色:builder:给出一个抽象接口,以规范产品对象的各个组成成分的建造。这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的对象部件的创建。public interface Build { public void makeWindow(); public ...原创 2019-03-05 16:49:01 · 510 阅读 · 0 评论 -
android设计模式—单例设计模式
适用场景:单例模式只允许创建一个对象,因此节省内存,加快对象访问速度,因此对象需要被公用的场合适合使用,如多个模块使用同一个数据源连接对象等等。如: 1.需要频繁实例化然后销毁的对象。 2.创建对象时耗时过多或者耗资源过多,但又经常用到的对象。 3.有状态的工具类对象。 4.频繁访问数据库或文件的对象。 以下都是单例模式的经典使用场景:1.资源共享的情况下,避免由于资源操作时导致的...原创 2019-03-01 12:46:33 · 264 阅读 · 0 评论 -
android设计模式—原型设计模式
定义 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象使用场景 1. 通过new产生一个对象需要非常繁琐的数据准备或访问权限,这时可以使用原型模式 2. 一个对象需要供给其他对象访问,而且各个对象都需要修改其值时,可以拷贝多个对象供调用者访问,即保护性拷贝浅拷贝和深拷贝浅拷贝:使用一个已知实例对新创建实例的成员变量逐个赋值,这个方式被称为浅拷贝。其...原创 2019-02-28 17:19:25 · 294 阅读 · 0 评论 -
android设计模式—简单工厂和工厂方法(抽象)设计模式
简单工厂一般提供创建对象的功能,不需要关心具体的实现,在需要某个实例对象的时候,直接传入某个特定的值,直接得到所需实例对象,不需要反复去创建。一般的流程是:规范接口—&amp;amp;amp;amp;gt;实现类—&amp;amp;amp;amp;gt;工厂创建定义规范接口:public interface BaseInterface {}创建实体类,并实现规范接口/** * 目标实现类 */public cla原创 2019-02-28 11:44:52 · 538 阅读 · 0 评论