码迷,mamicode.com
首页 > 其他好文 > 详细

静态工场方法Static Factory Method May be a better way to creat Object than Constructor

时间:2015-08-25 21:11:29      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:

1.对于一个类而言,获取实例常用的方法就是提供一个public constructor

2.学过design pattern的人,肯定能猜到另外一种方法就是static factory method(sfm)

1 public static Boolean valueOf(boolean b){
2 return b?Boolean.TRUE:Boolean.FALSE;}


优点:

1.静态工场方法有名称,比构造器更能理解其职能。而且涉及构造器overload时,sfm更见清晰,除非你愿意写一堆参数不同的构造器

2.sfm每次使用时不需要每次都创建一个对象,参照flyweight模式,想想jdbc的连接池,sfm真是不错

3.sfm可以返回原返回类型的任何子类型对象

4.sfm在创建参数化类型实例的时候,使得代码更加简洁

缺点:

1.类如果不含public or protected的构造器,就不能被子类化

2.sfm与其他静态方法一个鸟样...

静态工场方法Static Factory Method May be a better way to creat Object than Constructor

标签:

原文地址:http://www.cnblogs.com/lknny/p/4758456.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!