«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

올해는 머신러닝이다.

초난감DAO 리팩토링 3_3단게 ****관계설정 책임의 분리**** 본문

스프링프레임워크공부중/1부 초난감DAO 리팩토링

초난감DAO 리팩토링 3_3단게 ****관계설정 책임의 분리****

행복한 수지아빠 2010. 12. 16. 14:20
그럼 아예 이런식으로 독립시켜버리자.

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의 기능이 잘 동작하는 지만 테스트할려고 만든거다.

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

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