그럼 아예 이런식으로 독립시켜버리자.

UserDaoTest라는 클래스를 만들어서 여기안에서 실행및 테스트를 할수 있다.

UserDao의 생성자
public UserDao(ConnectionMaker connectionMaker){
  //초기화 ID 및 PASSWORD
  this.connectionMaker = connectionMaker;
 }

public class UserDaoTest {
 
 public static void main(String[] args) {

  ConnectionMaker connectionMaker = new DConnectionMaker();
  
  UserDao dao = new UserDao(connectionMaker);  
 }

이렇게 나누어 지면 거의 끝이다.

하지만 위의 코드에서 문제점은 UserDaoTest라는 클라이언트 클래스는 예전 UserDao가 맡던 connectionMaker 구현클래스 사용할지 안할지 기능까지 맡고 있는 셈이다.

원래목적이 UserDaoTest는 UserDao의 기능이 잘 동작하는 지만 테스트할려고 만든거다.

그래서 또 하나의 관심을 줌으로써 또 한번 더 리팩토링을 해야 한다.

다음 마지막 과정은 팩토리 과정이다.

+ Recent posts