public void update(Data data) {
Some s = getSome(data); // 1
data.setKey(s.getKey()); // 2
int ret = otherDao.update(data); // 3
if (ret == 1) {
data.setReg(new Date()); // 4
anyDao.insert(data); // 5
}
}
Data 타입의 파라미터를 update가 받고
-> A 객체 메서드에서 Data 사용
-> B 객체 메서드에서 Data 사용
한 파라미터 타입을 공유하는 구조다.
public void update(UpdateReq req) {
Some s = getSome(req.getSomeId());
OtherUpdate out = OtherUpdate.builder() // 새로운 타입으로 파라미터 생성
.id(reg.getOtherId())
.key(s.getKey())
.build();
int ret = otherDao.update(out);
if (ret == 1) {
AnyData any = AnyData.builder() // 새로운 타입으로 파라미터 생성
.someId(s.getId())
.ip(s.getIp())
.build();
anyDao.insert(any);
}
}
당장 만들 코드는 조금 증가하지만 두고 두고 코드 분석 시간이 상대적으로 감소
파라미터 타입을 만드는데 인색하지 말자!