第1章:重构BaseActivity要有两个,一个是业务无关的,位于base module中,另一个是业务相关的,位于app module中,后者封装了业务相关的公用逻辑和代码;同理,当fragment, dialog fragment有业务相关的共性时,也就是时候为app module准备一个base类了;package by feature,被外部引用的类,就不要作为内部类了;未被包外引用的类,就要声明为package private;
对象的创建与销毁Item 1: 使用static工厂方法,而不是构造函数创建对象:仅仅是创建对象的方法,并非Factory Pattern优点命名、接口理解更高效,通过工厂方法的函数名,而不是参数列表来表达其语义Instance control,并非每次调用都会创建新对象,可以使用预先创建好的对象,或者做对象缓存;便于实现单例;或不可实例化的类;
核心思想RulesWrite new code only if you first have a failing automated test.Eliminate duplication.Red/green/refactor. The TDDs mantra.
include, merge, ViewStub 的使用include 可以用 merge 作为根节点,这样合并时可以省去一层 layouttools:showIn 可以在预览中显示完整的 layoutViewStub 可以懒惰加载 layout获取 view 的高度和宽度可以在 Activity.
关注时代Java