代码改变世界

[编译]响应式编程范式--(1)

2015-05-24 20:41 by ttylinux, 496 阅读, 0 推荐, 收藏, 编辑
摘要:什么是响应式编程在网络上有很多对响应式编程进行定义的资料。维基百科上的定义过于宽泛和理论化。Stackoverflow专业的回答,显然不适合刚接触响应式编程的用户。响应式编程范式,就是使用异步的数据流进行开发从这个角度看待它,它并不是新东西。事件总线或者典型的界面点击事件,它们就是异步的事件流,你可... 阅读全文

一个App架构例子分析--UI层使用MVP模式;各层之间使用Otto实现通信

2015-05-17 10:42 by ttylinux, 1033 阅读, 0 推荐, 收藏, 编辑
摘要:一、这个App整体的架构划分:分为四大模块:1.app模块2.common模块3.domain模块4.model模块app模块的依赖:dependencies { compile fileTree(dir: 'libs', include: ['*.jar'])compile project(':d... 阅读全文

MVP应用在android app上

2015-05-06 21:34 by ttylinux, 513 阅读, 0 推荐, 收藏, 编辑
摘要:使用MVP模式来解耦activity中业务代码和界面代码。在activity中,将其中的业务抽象到presenter层;将其中的界面代码抽象到View层。 MVP模式: 一个软件被划分成三层,View层,Presenter层,Model层。 View层的职责是展示界面,... 阅读全文

Item 30 用enum代替int常量类型枚举,string常量类型枚举

2015-04-26 22:58 by ttylinux, 515 阅读, 0 推荐, 收藏, 编辑
摘要:1.用枚举类型替代int枚举类型和string枚举类型publicclassShow {//Int枚举类型// public static finalintAPPLE_FUJI = 0;// public static finalintAPPLE_PIPPIN = 1;// public stati... 阅读全文

Item 29 优先考虑类型安全的异构容器

2015-04-19 22:21 by ttylinux, 402 阅读, 0 推荐, 收藏, 编辑
摘要:集合API展示了泛型的一般用法。但是它们(Set,HashMap,Map)限制了每个容器只能有固定数目的类型参数。比如Set集合,HashMap集合:importjava.util.HashMap;importjava.util.HashSet;importjava.util.Map;importj... 阅读全文

Item 28 利用有限制通配符来提升API的灵活性

2015-04-19 17:29 by ttylinux, 299 阅读, 0 推荐, 收藏, 编辑
摘要:和的使用的使用Item 26这是堆栈的公有API:public class Stack{ public Stack(); public void push(E e); public E pop(); public boolean isEmpty();public void pushAll(Iter... 阅读全文

Item27--优先考虑泛型方法

2015-04-12 20:00 by ttylinux, 454 阅读, 0 推荐, 收藏, 编辑
摘要:类型推导:发生在以下三个地方。1.Java编译器根据泛型方法传入的参数,推导出具体的类型。2.Java编译器,根据泛型构造器传入的类型来推导出实际要构造的实例类型。3.Java编译器根据表达式的目标类型(TargetType)来确定出实际的类型参数。一、类型推导的例子:1.通过泛型方法的实际参数类型... 阅读全文

Item 12 考虑实现Comparable接口

2015-03-29 15:53 by ttylinux, 460 阅读, 0 推荐, 收藏, 编辑
摘要:1.Comparable接口,用来做什么。2.判定类实现的Comparable接口是否正确的方法。3.不要扩展一个已经实现了Comparable接口的类来增加用于比较的值组件。1.Comparable接口,用来做什么?---Comparable接口-----public interface Comp... 阅读全文

Item 11 谨慎地覆盖Clone

2015-03-25 22:30 by ttylinux, 219 阅读, 0 推荐, 收藏, 编辑
摘要:1.进行浅拷贝时,只是复制原始数据类型的值,则可以通过覆盖Clone方法来达到。另外,在进行浅拷贝的时候,还要注意,成员对象中不应该要有引用类型,如果有引用类型,那么,进行了浅拷贝之后,两个对象将会共享成员引用所指向的对象,这会出现问题。所以,在这种情况下,干脆直接使用深拷贝,避免问题出现。2.... 阅读全文

Item 9 覆盖equals时总要覆盖hashCode

2015-03-24 23:09 by ttylinux, 218 阅读, 0 推荐, 收藏, 编辑
摘要:为什么覆盖equals时,总要覆盖hashCode?原因是,根据Object规范:如果两个对象根据equals(Object)方法比较是相等的,那么调用这两个对象中任意一个对象的hashCode方法都必须产生同样的整数结果。如果违反这个规定,那么,在使用应用了散列码的集合(HashMap,HashS... 阅读全文