摘要: 第二条:遇到多个构造器参数时,要考虑用构建器 静态工厂方法和构造器都不能很好的扩展到大量的可选参数,如果用构造函数,需要采用重叠构造器模式,缺点,当有很多参数时,客户端代码,很难调试,难以阅读, 第二种代替方法是JavaBean模式,缺点:构造过程被分到几个调用中,在构造过程中JavaBean,可能处于不一致的状态,而且阻止了把类变成不可变得可能, 第三种方法:Builder模式,能够保证像重叠构造器模式那样安全性,builder模式模拟了具名的可选参数,就像Ada和Python中的一样, 总结:如果类的构造器或者静态工厂方法中具有多个参数,设计这种类时,BUilder模式是个很好的选... 阅读全文
posted @ 2013-08-24 21:30 曹守鑫 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 第一条:考虑用静态工厂方法代替构造器 静态工厂方法与构造器不同的第一大优势是:它们有名称 静态工厂方法与构造器不同的第二大优势是:不必在每次调用它们的时候都创建新的对象 静态工厂方法与构造器不同的第三大优势是:它们可以返回原返回类型的任何子类型对象 API可以返回对象,同时有不会使对象的类变成共有的,这种技术适用与基于接口的框架(interface-based framework),接口为静态工厂方法提供了自然返回类型,接口不能有静态方法 静态工厂方法返回的对象所属的类,在编写包含该静态工厂方法的类时可以不必存在,这种灵活的静态工厂方法构成了服务提供者框架(service p... 阅读全文
posted @ 2013-08-24 17:11 曹守鑫 阅读(183) 评论(0) 推荐(0) 编辑