본문 바로가기

스프링

[토비] 초난감DAO 메소드 추출기법

위와 같이 DB테이블생성

 

VO > 자바빈(JavaBean) : 파라미터가 없는 디폴트 생성자를 갖고 있어야한다. 툴이나 프레임워크에서 리플렉션을 이용해 오브젝트를 생성하는데 필요하기 때문

1.     리플렉션 : 객체를 통해 클래스의 정보를 분석해내는 프로그램 기법(class.forName을 통해 메모리에 로딩된 객체의 메서드 생성자 등을 알아내서 사용가능)

2.     프레임워크 : 흐름을 주도한다. 프레임워크 위에 개발한 클래스를 등록하고 프레임워크가 흐름을 주도함

3.     Property : id, name, password(자바빈의 속성)

프로퍼티는 set/get 메서드를 이용해 수정 또는 조회 가능하다.

 

Dao/connector

l  객체지향의 세계에서는 모든 것이 변함

1.     DB접속용 암호 변경을 한다면 모든 클래스의 메서드들을 모두 변경해주어야함.

Ø  관심사의 분리가 필요함 : 커넥션 맺음/SQL/close

UserDao를 고객에게 판매한다고 생각해보자 소스를 주지않고 class 파일만 주고 싶다. 비싼 로직이므로 > 002 상속을 통한 확장편

 

메인

 

l  메소드 추출기법 > 리팩토링

UserDao를 위와같이 독립적인 메서드를 만들어주면 메서드 하나만 수정하면됨