美文网首页
静态工厂方法的四大优势

静态工厂方法的四大优势

作者: 佐半边的翅膀 | 来源:发表于2019-03-10 20:56 被阅读0次

一个类允许客户端获取其实例的传统方式是提供一个公共构造方法。 其实还有另一种技术应该成为每个程序员工具箱的一部分。 一个类可以提供一个公共静态工厂方法,它只是一个返回类实例的静态方法。

静态工厂方法的一个优点是,不像构造方法,它们是有名字的。 如果构造方法的参数本身并不描述被返回的对象,则具有精心选择名称的静态工厂更易于使用,并且生成的客户端代码更易于阅读。

静态工厂方法的第二个优点是,与构造方法不同,它们不需要每次调用时都创建一个新对象。这允许不可变的类(条目17)使用预先构建的实例,或者在构造时缓存实例,并反复分配它们以避免创建不必要的重复对象。

静态工厂方法的第三个优点是,与构造方法不同,它们可以返回其返回类型的任何子类型的对象。 这为你在选择返回对象的类时提供了很大的灵活性。这种灵活性的一个应用是API可以返回对象而不需要公开它的类。 以这种方式隐藏实现类会使 API非常紧凑I。 这种技术适用于基于接口的框架(条目20),其中接口为静态工厂方法提供自然返回类型。、

静态工厂的第四个优点是返回对象的类可以根据输入参数的不同而不同。 声明的返回类型的任何子类都是允许的。 在创建参数化类型实例的时候,他们使代码变得更加简洁。

相关文章

  • 条目1:考虑使用静态工厂方法而不是构造函数

    静态工厂方法的优势: 1:静态工厂方法有名称 2:静态工厂方法不用每次都返回一个新的对象 3:静态工厂方法可以返回...

  • Java静态工厂方法

    相比构造器,静态工厂方法提供实例的优势: 静态工厂方法有名字 使用静态工厂方法比直接使用等效的构造方法更易阅读理解...

  • Java 静态工厂

    静态工厂 四大优点 1.静态工程方法与构造器不同的第一优势在于,他们都有名称 2.静态工程方法与构造器不同的第二优...

  • Effective Java(一) 创建和销毁对象

    Tip-1 考虑用静态工厂方法代替构造器 静态工厂方法优势静态工厂方法有名称,更直观和易于理解不必每次都创建新的对...

  • 《Effective Java》第二章:创建和销毁对象

    第1条:考虑用静态方法而不是构造器 静态方法相对于构造器的优势: 1.静态工厂方法有名字2.静态工厂方法不必每次调...

  • Effective Java第二章读书笔记

    第一条:考虑静态工厂方法代替构造器 静态工厂方法的优势: 有名称(例子中的probablePrime) 不必每次调...

  • 创建和销毁对象

    什么是静态工厂方法 返回一个类的实例的静态方法 优势 不要用多态的方法创建构造器,可以选择不同命名的静态工厂方法来...

  • 考虑用静态工厂方法(非设计模式)替代构造器--Effective

    考虑静态工厂方法替代构造器 这里的静态工厂方法只是表示一个返回类的实例的静态方法。与设计模式中的不同。 优势1.可...

  • 详解:Java 的静态工厂方法

    序:什么是静态工厂方法 Effective Java2.1 静态工厂方法与构造器不同的第一优势在于,它们有名字2....

  • 静态工厂方法的四大优势

    一个类允许客户端获取其实例的传统方式是提供一个公共构造方法。 其实还有另一种技术应该成为每个程序员工具箱的一部分。...

网友评论

      本文标题:静态工厂方法的四大优势

      本文链接:https://www.haomeiwen.com/subject/abbppqtx.html