结构设计模式:(Private class data)这两个例子有区别吗

Structural design patterns: (Private class data) Is there a difference between these two examples

以下是 sourcemaking.com 中此模式的示例:

https://sourcemaking.com/design_patterns/private_class_data

有两个示例,划掉的主 class 和包含数据 class 的主 class。

我的问题只是以下内容与 link 中给定的正确实施之间的区别:

public class MainClass {

    private final <Type> attribute1;
    private final <Type> attribute2;
    private final <Type> attribute3;

    public MainClass(<Type> attribute1, <Type> attribute2, <Type> attribute3 {
        this.attribute1 = attribute1;
        this.attribute2 = attribute2;
        this.attribute3 = attribute3;
    }
}

干杯

您此处的代码不是该模式的示例。划掉的模型是不能做的。

您需要一个单独的 Java 对象来保存属性,并且该页面准确地列出了模式存在的原因 - 以限制字段的暴露

从这一点开始

Main class must initialize data class through the data class's constructor

数据对象可以声明为final