私有数据类设计模式

时间:2012-11-27 12:43:35

标签: design-patterns

我有一个与“私有数据类设计模式”相关的问题。

是否可以在“私有数据类设计模式”中同时获取和设置数据类的访问者。喜欢下面的那个

public class CircleData {
    public double Radius { get; set; }
    public Color Color { get; set; }
    public Point Point { get; set; }
}

public class Circle {
    public void Draw(CircleData circleData)
    {
        // Perform the draw operation
    }
}

这里我试图消除方法之间的耦合属性(属性) 这是“私人数据”设计模式吗?

1 个答案:

答案 0 :(得分:1)

正如我在聊天中所提到的,我不确定您尝试使用此私有类数据模式对您有什么好处。

虽然您没有明确地为您的属性实现私有后备存储,但从技术上讲,您确实拥有访问私有数据的公共属性,但我相信整个模式的重点是隐藏类的内部信息

更好的示例可能是以下字段/属性:

private int _x = 5;
private int _y = 15;

public Point Point { 
    get {
        return new Point(_x, _y);
    }
    set {
        _x = value.X;
        _y = value.Y;
    }
}

但是,如果您使用独立于Point的x / y值,那只会对您有所帮助。