我的开源学习之路

web

 

重构与模式 解读--------用Creation Method替换构造函数

     类中有多个构造函数,因此很难决定在开发期间调用那一个的时候,请采用Creation Method(个人翻译为静态构建模式)方式
  
优点:
     1:比构造函数能够更好的表达创建的实例的总类
     2:避免了构造函数的局限,比如两个构造函数的参数数目和类型不能相同
     3:更容易发现无用的创建代码
    
缺点:
     创建方式是非标准的,有些类需要使用new实例化,有些需要使用静态构建模式.

                                        -------------------------以上是书中原话

    个人强烈推荐使用静态构建模式,尤其是优点的第2条,很优雅的解决了我下面例子中的问题
不可运行代码:
public class People {
    private int age;
    private int height;
    public People(int age){
        this.age=age;
    }
    public People(int
height){
        this.
height=height;
    }
}
使用构建模式后:
public class People {
    private int age;
    private int height;  
    public static  People createPeopleByAge(int age){
        this.age=age;
    }
   
public static  People createPeopleByHeight(int height){
        this.
height=height;
    }

}

对比一下两个对象,第二个对象的代码变得优雅而又实用了.而且逻辑清晰

其实还有几个优点:
        1:当使用new初始化一个类的时候,类中的每个构造函数都会被遍历一遍,也就是构造函数越多,这个类实例化需要的时间越长.
        2:我们现在很多人使用了编译器,有个代码提醒的功能.如果是静态方法,可以得到提醒,而不同的构造函数,我们必须去查api了.
       

                                                                

posted on 2007-02-07 09:13 abba 阅读(876) 评论(0)  编辑  收藏

导航

统计

常用链接

留言簿(3)

随笔分类

随笔档案

SteelHand

友情链接

高手

搜索

最新评论

阅读排行榜

评论排行榜