【问题标题】:Is this a named pattern?这是命名模式吗?
【发布时间】:2013-08-12 23:45:04
【问题描述】:
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
    // ...
}

您好,

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

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

【问题讨论】:

    标签: c# oop design-patterns architecture


    【解决方案1】:

    这可以称为Wrapper 模式。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-11
        • 1970-01-01
        • 2011-04-23
        • 2011-07-27
        • 1970-01-01
        相关资源
        最近更新 更多