이 중 첫 번째는 Java로 수행됩니다. 텍스트 파일을 비 직렬화합니다. 각 행은 완전히 다른 클래스 계층 구조의 객체가됩니다. 그런 다음이 객체를 다른 객체에 제공하고 "Writer"라는 메서드를 "write (x)"라는 메서드로 호출하여 해당 객체의 일부를 다른 형식으로 직렬화합니다. 각 직렬화 해제 된 객체는 다른 클래스 계층 구조이므로 동일한 작성자로 각 객체를 처리 할 수 없습니다 (내용도 매번 약간 씩 차이가 있으므로 괜찮습니다). 그러나 저를 괴롭히는 것은이 모든 과정을 조정하는 클라이언트에서 다른 객체를 구별해야한다는 것입니다. 은 "작가는"그 동안 그 일을 클라이언트없이, 무엇을, 스스로 결정할 수 있도록다른 유형의 동일한 동작 구현
이는
아마 일부 의사 코드가 도움이 될 것입니다 ... 방법입니다.for(Line line : lines) {
x = one of several kinds of objects is instantiated;
w = one of several kinds of Writers is instantiated, analog to x;
w.write(x);
}
이상적으로 나는이 희망 ...
을 내 코드는 같을 것이다,하지만 난 개체를 구별하기 때문에 reallity에, (마지막 제외) 각 라인은 switch 문이다 혼동하지 말라.
public interface Writer {
void write(Object o);
}
,
추상 클래스 AbstractWriter, 몇 가지 일반적인 작업과 다음이 AbstractWriter를 확장하는 클래스의 숫자를 수행합니다