1
스프링을 사용하여 다음 팩토리 메서드 패턴을 구현할 수있는 방법을 알고 싶습니다. 여기 스프링을 사용하여 팩토리 메서드 패턴 구현
미리 스프링interface FileParser {
void parse()
}
class XMLFileParser implements FileParser {
void parse() {
}
}
class PipeFileParser implements FileParser {
void parse() {
}
}
class FileParserFactory {
FileParser getParserInstance(String fileType) {
if("XML".equals(fileType)
return new XMLFileParer();
else
return new PipeFileParser();
}
}
class ActivityHandler() {
void handle(String fileType) {
FileParser fileParer = FileParserFactory.getParerInstance(fileType);
fileParser.parse();
}
}
감사를 사용하지 않고 코드이다.
감사합니다. Michael. 이 접근 방식을 사용하면 파일 형식이 필요한지 여부에 관계없이 모든 파서 인스턴스를 인스턴스화하게됩니다. 방법은 어때? 'code' class FileParserFactory {@ 자동 개인 XMLFileParser xmlFileParser; @ Autowired private PipeFileParser pipeFileParser; FileParser getParserInstance (String fileType) {// 여기에 올바른 파서를 결정하는 코드}}'code' – user1269701
그건 상상의 문제입니다. 클래스 객체의리스트를 저장하고 처음 사용할 때 인스턴스화 할 수 있습니다. –
확인. 나는 봄에 factory-method와 factory-bean에 대해 조금 읽었습니까? 여기에서 사용할 수 있습니까? – user1269701