【问题标题】:Why to use nested class in builder design pattern, why can't use setters to build the object in the same class为什么在构建器设计模式中使用嵌套类,为什么不能使用setter在同一个类中构建对象
【发布时间】:2016-05-07 10:30:48
【问题描述】:

我访问过一些关于 java builder 设计模式的网站。他们中的大多数都在展示,要构建类,我们需要通过调用相应的设置器来添加静态嵌套类,然后触发对象创建。但是问题是,为什么我们不能在没有静态嵌套类的情况下在同一个类中使用这些 setter。

【问题讨论】:

    标签: java class design-patterns static nested


    【解决方案1】:

    由于以下原因:

    一个。您可能会暴露您的实例,而您仍处于通过 setter 方法创建对象的过程中。

    b.你想让你的外部实例不可变。

    c。您正在将对象的构造与其表示分开。

    d。你需要更多地控制它的构造而不是表示。

    【讨论】:

    • 你说的是在多个线程访问该代码期间?
    • @user1702457 不变性对于多线程来说是一个有用的属性,但更一般地说,它只允许您推理对象的状态——这让您知道单线程代码也以特定方式工作。
    猜你喜欢
    • 2013-02-24
    • 1970-01-01
    • 2015-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    相关资源
    最近更新 更多