가끔 공장과 MVC 외에 디자인 패턴을 자주 사용하지 않고 더 많이 사용하고 싶습니다.
이 경우 디자인 패턴 사용에 대한 귀하의 의견을 부탁드립니다.
내 응용 프로그램에서는 다른 상황에서 객체를 자주 변환해야합니다. GWT를 사용하고 Hibernate POJO는 직렬화 할 수 없으며 회선을 통해 보낼 수 없기 때문에 Hibernate POJO를 DTO로 변환해야 할 수도 있습니다.
다른 상황에서는 Solr에 의한 색인 작성을 위해 Java 오브젝트를 SolrInputDocument로 변환해야 할 수도 있습니다.
이를 위해 디자인 패턴을 사용해야하는지 알고 싶습니다. "개체 변환"은 패턴에 의해 유연하고 추상적 인 방식으로 처리 될 수있는 일반적인 작업 인 것 같습니다. 그러나 실제로는 어떻게 보지는 않습니다.
패턴이 없으면 CourseToSolrInputDocument와 같은 각 변환 유형에 대해 별도의 클래스를 만들 것입니다 (과정은 내 응용 프로그램에서 최대 절전 모드 엔터티입니다). 또는 CourseToCourseDTO. 이러한 각 변환 클래스 convert()
에는 소스 개체를 입력으로 사용하고 출력 개체를 반환 하는 단일 정적 메서드가있을 수 있습니다 .
그러나 그것은 실제로 패턴이 아닙니다. 그렇지 않습니까? 그래서 나는 generics로 무언가를 시작했고 Converter 인터페이스를 구현하는이 클래스를 만들었습니다. 그러나 어쨌든 일반적인 인터페이스를 만드는 바보 같은 느낌이 들며 제네릭 사용을 축하 할 수있는 것 이외의 이점을 실제로 보지 못합니다.
public class CourseToSolrInputDocument implements Converter<Course, SolrInputDocument> {
@Override
public void convert(Course source, SolrInputDocument destination) {
//To change body of implemented methods use File | Settings | File Templates.
}
}
따라서 실제 질문은 다음과 같습니다. 일반적인 객체 변환에 적용되는 패턴이 있습니까? 그리고 접근 방식은 무엇이며 변환 당 클래스 유형 접근 방식을 사용하는 것의 장점은 무엇입니까?