2013-08-11 3 views
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 
    // ... 
} 

인사말,명명 된 패턴입니까?

나는 같은 특성을 제공하는 두 개의 클래스가 있습니다. 첫 번째 것은 모든 속성에 대한 읽기 및 쓰기를 허용하고 두 번째 속성은 읽기만 허용합니다. 거대한 생성자 (나중에 다를 수 있음) 대신에 그렇게함으로써 값 개체를 만드는 것이 더 쉽습니다. 빌더 패턴은 객체를 만드는 데 전념하는 클래스와 관련이 있으며, 단순한 값 객체에 대해 내 눈이 너무 많이 보인다.

질문은 이것이 명명 된 패턴입니까? 이미 이런 종류의 트릭을 사용 했나요? 계속해서 문제를 해결할 수 있습니까?

답변

0

코드의 정확한 부분을 정확히 파악한 다음 예를 선택하면 공통 이름을 갖게됩니다.

매개 변수의 목록을 캡슐화하는 클래스를 소개 그래서 대신에 당신은 단지 하나의 매개 변수 객체가 매개 변수 개체을 소개 라고 리팩토링 패턴의 파울러의 카탈로그에 나와 있습니다 말했다으로 거대한 생성자의.

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

1

이것은 Wrapper 패턴이라고 할 수 있습니다.