스프링프레임워크공부중/1부 초난감DAO 리팩토링
초난감DAO 리팩토링 3_1단게 ****클래스의 분리****
행복한 수지아빠
2010. 12. 16. 12:33
반응형
앞에서 잠시 언급했듯이 다중상속이 허용되지 않는 자바에선 위와 같은 방법은 별로 좋지 못하다.
그래서 우선 Connection 를 주는 클래스를 아예 따로 떼어버리자.
그럼 상속받을 필요도 없고 그냥 생성해서 쓰면 그만이다. abstact일 필요도 없어진다.
자세한 코드는 다음과 같다.
Connection만 관리하는 클래스 추출
public class SimpleConnectionMaker {
public Connection makeNewConnection() throws ClassNotFoundException,SQLException{
return 만들어질 커넥션;
}
}
그럼 add와 get 메소드 안에서는
Connection c = simpleConnectionMaker.makeNewConnection();
이 한줄로 간단히 예전과 똑같이 사용할 수 있다.
하지만..
이렇게 바뀌고 나면 제공해주고 있는 D사와 N사에서 작동안된다고 클레임 건다.
이유는 더이상 상속관계가 아니기 때문에 상속을 받아도 Connection 객체를 사용할 수 없다는 것이다.
그래서 "인터페이스의 도입"이 이루어진다.
반응형