类对象实例化方式的选择
这方面其实设计模式里面提及到很多,但好像缺少了一种使用顺序关系的描述,目前我读到的设计模式不是很多,不拿来描述了,按自己理解整理一下自己的研究思路
根据对象类的复杂度,由简至繁,可考虑依次使用以下方式进行对象实例化操作:
- 通过构造函数实例化(最常用,参考博文: 构造函数设计)
- 通过设置Builder内部类(setter方法集合工厂)实例化(参考 android.app.AlertDialog.Builder)
- 通过设置独立静态Factory类(工厂模式,调用上面的Builder类方法)实例化
- 通过设置抽象工厂类进行系统实例化(实例化上面的子Factory实现类,再由其执行具体类实例化过程)
ps. 工厂方法命名参考:
- cteate***();
- new***();
- newInstance();
- getInstance();
- obtain***();