2013-04-07 3 views
2

플라이급 패턴을 사용하여 클래스의 여러 인스턴스간에 특정 비 정적 변수를 제한하는 복잡한 객체 디자인을 사용하고 있습니다. 두 객체 (플라이급 정보와 클래스가 포함 된 클래스)가 모두 Serializable이고 해당 카드 목록이 wcf 서비스에서 클라이언트로 전송되면 클라이언트는 패턴을 유지합니다 (즉, 여러 인스턴스에 대해 플라이급 정보 복사본을 하나만 유지합니다 더 높은 계급의)? 내가 잘 설명하지 못하는 경우에 대비하여 아래에 약간의 코드 예제를 제공 할 것입니다. 목록 50 + SmallObjects이 포함되어 있지만 각 개체 분리형 충분한 이미지를 만들 수있는 플라이급 패턴을 사용직렬화가 Flyweight 디자인 패턴을 허용합니까?

public class Flyweight 
{ 
    public Image image; 
} 

public class SmallObject 
{ 
    public Flyweight fly; 
} 

. 디자인 제한으로 인해 하위 클래스로는 표현할 수없는 다양한 유형의 SmallObject가 있기 때문에 정적 변수 일 수 없습니다. 내가 알아야 할 것은 클라이언트가 50+ 개별 플라이급 오브젝트를 받거나 패턴이 유지되고 각 유형에 대해 플라이급 1 개만받는 경우입니다.

답변

1

패턴이 유지되지 않습니다. [OnDeserialized]를 사용하여 원하는 참조를 수동으로 다시 작성해야합니다.

관련 문제