2010-07-01 2 views
2

대부분의 비즈니스 개체가 파일 형식 (레거시 형식)으로 저장되는 소프트웨어 프로젝트를 만들고 있습니다. 객체는 입력 스트림에서만 인스턴스화됩니다.파일에서 객체를 생성하기위한 디자인 패턴?

나는 생성자 개인 만들고 다음과 같이 정적 함수 인스턴스로이 오늘을 : 다른 사람들이 수정되기 때문에

public class BusinessObject { 

    private BusinessObject() {} 

    public static BusinessObject fromStream(Stream stream) { 
     // Do initialization here 
    } 
} 

내가 설립 디자인 패턴을 사용하려면 코드를 싶습니다.

알려진 패턴입니까, 아니면 위의 패턴 대신 사용할 수있는 디자인 패턴이 있습니까? 당신이 직렬화 또는 공장

답변

0

그것은 당신이 Factory을 만들고있어 보이는 같은 건설 패턴 중 하나 중 하나를 찾고있는 것처럼

감사합니다,

마틴

+3

첫 번째 라인은 Clippy가 말하는 것처럼 들립니다. – BenV

0

는 소리.

"초기화"단계에서 수행중인 작업에 따라 다를 수 있지만 스트림을 사용하는 생성자를 만들 수는 있습니다. 이미 null 생성자를 허용하지 않고 스트림에서 생성 만 허용하는 경우 동일한 단순한 것처럼 보입니다. 이것이 작동하지 않는 것을 볼 수있는 유일한 이유는 BusinessObject의 여러 하위 클래스가있는 경우입니다.

0

아주 좋은 방법입니다. Factory 패턴을 사용하고 있습니다.

이상적으로 구현에서 직렬화/직렬화를 사용하여 개체를 유지할 수 있지만 레거시 형식이 필요한 경우에는 옵션으로 사용할 수 없습니다.

관련 문제