C# 这是命名模式吗?
您好 我有两个类提供相同的属性。第一个允许读取和写入其所有属性,第二个仅允许读取。我发现这样做更容易创建值对象,而不是创建一个巨大的构造函数(以后可能会有所不同)。构建器模式涉及一个专门用于创建对象的类,在我看来,对于一个简单的值对象来说“太多了”C# 这是命名模式吗?,c#,oop,design-patterns,architecture,C#,Oop,Design Patterns,Architecture,您好 我有两个类提供相同的属性。第一个允许读取和写入其所有属性,第二个仅允许读取。我发现这样做更容易创建值对象,而不是创建一个巨大的构造函数(以后可能会有所不同)。构建器模式涉及一个专门用于创建对象的类,在我看来,对于一个简单的值对象来说“太多了” 所以,问题是,这是一个命名模式吗?以前有人用过这种把戏吗?以后继续这样做会遇到问题吗?这可以称为模式。这可以称为模式。如果我正确理解了您希望识别的代码的确切部分,那么是的,它确实有一个通用名称 引入一个封装参数列表的类,这样就不用像您所说的那样拥有一
所以,问题是,这是一个命名模式吗?以前有人用过这种把戏吗?以后继续这样做会遇到问题吗?这可以称为模式。这可以称为模式。如果我正确理解了您希望识别的代码的确切部分,那么是的,它确实有一个通用名称 引入一个封装参数列表的类,这样就不用像您所说的那样拥有一个巨大的构造函数,而只需要一个参数对象,它被称为引入参数对象,并在Fowler的重构模式目录中列出
如果我正确理解了您希望识别的代码的确切部分,那么是的,它确实有一个通用名称 引入一个封装参数列表的类,这样就不用像您所说的那样拥有一个巨大的构造函数,而只需要一个参数对象,它被称为引入参数对象,并在Fowler的重构模式目录中列出
public class BanknoteDescriptor
{
public double Value { get; set; }
public string Currency { get; set; }
}
public class Banknote
{
private BanknoteDescriptor _description;
public Banknote(BanknoteDescriptor description)
{
_description = description;
}
public double Value
{
get { return _description.Value; }
}
public string Currency
{
get { return _description.Currency; }
}
// Overring in order to create a value object
// ...
}