- 博客(9)
- 收藏
- 关注
原创 装饰者模式
所谓的装饰者模式是指:在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。在装饰模式中的各个角色有: (1)抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。 (2)具体构件(Concrete Component)角色:定义一个将要接收附加责任的类。 (3)装饰(Decorator)角色:持有一
2017-01-13 16:31:19
241
原创 观察者模式
什么是观察者模式:一个被观察者管理所有依赖他的观察者,在它自身发生状态改变时主动对所有观察者发出通知。 简单举个例子:报社订阅杂志这样一个行为。在这里报社就是被观察者,所有订阅了杂志的消费者就是观察者。报社一旦出了新杂志,变会给所有订阅了杂志的消费者快递杂志。 又或者开关和灯泡:一个开关是被观察者,他具有开和光两种行为。和他关联的灯泡就是观察者,当开关开时,所有建立了联系的灯泡就会亮,开关关时,
2017-01-13 10:13:29
312
原创 策略模式
策略模式是针对对象行为的一种模式。即将对象具有多种实现的行为单独抽取出来。实现行为的修改不会触及到原有对象的变动。简单举个例子: 现在正在构建一个商城系统,我们有顾客对象,他拥有购买物品可以打折的行为;public class Customer { public void discount(){ System.out.println("给顾客打折"); }}但是我
2017-01-12 16:23:01
259
原创 图片加载错乱,Glide无法设置Tag解决方式
因为Adapter对View的复用以及图片网络请求的耗时问题有时候在快速滑动且网络不佳的情况下会出现图片加载错乱。 即滑动到屏幕内发出网络请求,但并未请求完成就已滑出屏幕,待到请求完成时,就加载到了其它ItemView上。 常用的做法是将uri设置为ImageView的tag例如: String title = dataBean.getTitle(); String
2016-12-26 15:42:01
4707
原创 Java反射机制
/* * 类也是一种对象,是java.lang.Class类的实例对象 * */public class Test { public static void main(String[] args) { /* * 表示Class类的实例有三种方法 * */ //1: Class c1=Person.clas
2016-10-06 14:45:42
893
原创 Android消息机制(Handler机制)
Handler构造时会采用当前线程的Looper来构造消息循环系统。而Handler的内部是通过ThreadLocal来获取的当前线程Looper。(线程默认是没有Looper的,所以使用Handler时必须为线程创建Looper,主线程(UI)线程是默认被创建时就初始化了Looper);Handler创建完成后,在子线程利用post方法将一个Runnable投递给Handler内部的Looper去
2016-09-30 14:08:30
331
原创 约束布局基础
1.app:layout_editor_absoluteX=”0dp” app:layout_editor_absoluteY=”0dp” //用于设置控件在ConstraintLayout中并未约束的绝对位置。 2.app:layout_constraintTop_toTopOf=”@id/button3” 同理还有topToBottom BottomToBottomOf,LeftTo
2016-09-27 09:08:24
3128
原创 并发1:任务与线程
并发通常是提高运行在单处理器上的程序的性能。当以单线程运行所有任务时,虽然不会因为切换线程节省资源,但一旦出现阻塞(IO请求等),则在阻塞接触前单线程会发生等待。如果采用并发可在此时切换任务节省时间。(所以没有任务会被阻塞的情况下在单处理器上使用并发并没有意义) CPU**轮流**给每个线程任务分配其占用时间。(例外情况是程序运行在多个CPU之上) 我们通常通过实现Runnable接口实现r
2016-09-23 12:22:02
420
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人