hyeonga_code
Spring_SQL 문장과 실행, 구현을 하나의 DAO 로 구현하는 경우 발생하는 문제점 본문
- sql문장과 실행, 구현을 하나의 DAO로 구현하는 경우 발생하는 문제점
- 관심사의 분리
- SoC_Seperation of Concern
- 같은 관심사를 가진 것끼리 하나의 객체로 분류합니다.
- 서로 영향을 주지 않도록 분리합니다.
- UserDAO의 관심사항
1) DB와 연결을 위한 커넥션을 가져오는 방식
2) 사용자 등록을 위해 DB에게 보낼 SQL 문을 담을 Statement 생성, 실행
3) 사용 완료된 리소스(statement, Connection) 반환
- DB 커넥션 생성의 독립
- 여러 사용환경의 호환
- 적용 방법
- 디자인 패턴
- 템플릿 메소드 패턴
- 팩토리 메소드 패턴
- DAO 확장
- 두 개의 독립된 클래스로 분리합니다.
- 문제점
- SimpleConnection 의 메소드 문제
- DB 커넥션을 제공하는 클래스를 DAO가 구체적으로 알고 있어야 합니다.
- 클래스 이름에 오브젝트를 생성하지 않고 사용하는 방법
- 관계 설정과 책임의 분리
- 외부에서 만들어진 것을 가져와 사용하는 방법
- 메소드 파라미터나 생성자 파라미터를 사용하여 동적 관계가 생성됩니다.
UserDAO(ConnectionMaker connectionMaker){
this.connectionMaker = connectionMaker;
}
- 구체적인 클래스를 알지 못해도 사용할 수 있게 됩니다.
'Spring' 카테고리의 다른 글
Spring_스프링 프레임워크 비교_이전에 사용한 방식으로 작성하기 (0) | 2023.12.13 |
---|---|
Spring_MVC 프로젝트 생성하기 (0) | 2023.12.13 |
Spring_객체 지향 프로그래밍 이론_객체 지향 설계 원칙, 응집도, 결합도 (0) | 2023.12.13 |
Spring_스프링 프레임워크_스프링을 이용한 의존성 주입하기 (0) | 2023.12.12 |
Spring_스프링 프레임워크 파일 생성하기 (0) | 2023.12.12 |