2013-05-09 2 views
0

데이터베이스에 액세스하기 위해 Java에서 데이터 매퍼 패턴을 사용하고 있습니다. 다른 매퍼의 매퍼를 호출해도 괜찮습니까? 내가 생각하는 한, 매퍼는 다른 매퍼에 의존하지 않고 스스로 작업해야하지만, 나와 같은 프로젝트에서 일하는 다른 사람은 다른 의견을 가진 것으로 보입니다.Java의 다른 데이터 맵퍼에서 데이터 맵퍼 사용?

예를 들면 : Customer 개체와 ContactPerson 개체가 있습니다. 고객은 필드에 ContactPerson 객체를 가지고 있습니다. 데이터베이스에서 데이터를 가져 오기 위해 나는 CustomerMapper와 ContactPersonMapper를 가지고있다. 데이터베이스에서 고객 데이터를 가져올 때 ContactPerson 데이터를 동시에 가져와야합니다. 내 CustomerMapper 내에서 ContactPerson 매퍼를 사용하는 것이 좋은가요? 아니면 매퍼를 서로 완전히 독립적으로 만들어야합니까?

답변

1

jdbctemplate 및 mappers와 비슷한 것을 사용하고 있습니다. 나는 그 패턴을 많이 사용하고, 나는 당신과 동의하는 경향이있다. 나는 매퍼 (mapper) 내부에서 두 번째 매퍼를 호출하지 않습니다. 내 생각에이 코드는 매퍼가 독립형 일 때 테스트 및 읽기가 훨씬 쉽습니다. 나는 DAO에서 가능한 한 적은 로직을 갖고 다른 로직 레벨에서는 로직을 사용하는 것을 선호한다.

지난 몇 시간 동안 맵퍼 내부의 논리를 사용하여 구조를 고급 개체에 매핑했지만 그 작업도 수행하지 않았습니다. 가장 좋은 방법은 매퍼를 매우 간단하게 만드는 것입니다.

+0

동의합니다. 데이터 매퍼 패턴을 처음 보았을 때 나는 매퍼가 단순히 독립형임을 암시한다고 즉시 생각했습니다. 누군가가 다른 매퍼에서 사용되는 매퍼를 변경하면 큰 코드 오작동이 발생할 수 있다고 생각합니다. 답변 해주셔서 감사합니다. 나는 이것을 다른 사람들도 확인하기를 바라고 있습니다. – ZimZim

관련 문제