我有一个与“私有数据类设计模式”相关的问题。
是否可以在“私有数据类设计模式”中同时获取和设置数据类的访问者。喜欢下面的那个
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
}
}
这里我试图消除方法之间的耦合属性(属性) 这是“私人数据”设计模式吗?
答案 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值,那只会对您有所帮助。