创建和销毁对象
静态工厂方法代替构造器
静态工厂方法与设计模式中的工厂方法
不同。
优势
- 静态工厂方法有名称,
遇到多个构造器参数时,使用构建器-Builder模式
1.使用构造方法创建对象
重叠构造器
2.JavaBeans模式
通过setter方法设置必要参数,拥有良好的可读性。
缺点:构造过程中容易被改变,处于不一致的状态。
3.Builder模式
通过公开的Builder内部类,私有的构造方法,构造必传参数和可选参数。Builder模式模拟了具名的可选参数,可以加强约束条件,在对象域中进行检验。可以在编译时进行异常检查。
缺点:特殊情况下额外的性能开销,冗长。
适用情况:多个参数(大于4个),需要比JavaBeans模式更加安全的情况。
参见 Notification
或 Alertdialog
类。
用私有构造器或者枚举类型强化singleton属性
为了防止反射调用私有构造方法、反序列化时创建新的实例,直接使用 包含单个元素的枚举类型
.
1 | public enum Elvis{ |
避免创建不必要的对象
39条 应该创建新对象时,不要重用现有对象
创建不必要的对象只会影响程序的风格和性能,没有实施保护性拷贝将会导致潜在的错误和安全漏洞。
消除过期的对象引用
内存泄露