1
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
    // ...
}

问候,

我有两个提供相同属性的类。第一个允许读取和写入他的所有属性,第二个只允许读取。我发现这样做更容易创建值对象,而不是一个巨大的构造函数(以后可能会有所不同)。构建器模式涉及一个专门用于创建对象的类,在我看来,对于一个简单的值对象来说似乎“太多”了。

那么,问题是,这是一个命名模式吗?以前有人用过这种伎俩吗?我以后会遇到问题吗?

4

2 回答 2

1

这可以称为Wrapper模式。

于 2013-08-11T16:10:48.397 回答
0

如果我正确理解了您想要识别的代码的确切部分,那么是的,它确实有一个通用名称。

引入一个封装参数列表的类,而不是像您所说的那样一个巨大的构造函数,您只有一个参数对象,称为Introduce Parameter Object,并列在 Fowler 的重构模式目录中。

http://www.refactoring.com/catalog/introduceParameterObject.html

于 2013-08-11T16:10:57.620 回答