전략 패턴(2)
-
try/catch/finally로 예외 처리 및 전략 패턴으로 중복 컨텍스트 추출
이전 포스팅에 작성한 코드를 다시 살펴보자 public class UserDao { private DataSource dataSource; public void setDataSource(DataSource dataSource) { this.dataSource = dataSource; } public void add(User user) throws SQLException { Connection c = dataSource.getConnection(); PreparedStatement ps = c.prepareStatement("insert into users(id, name, password) values (?,?,?)"); ps.setString(1, user.getId()); ps.setString(2,..
2022.01.16 -
IOC의 필요성 - 3. 클래스의 분리 및 인터페이스 도입, 관계설정 책임
클래스의 분리 처음에는 독립된 메서드를 만들어서 분리했고, 그 다음에는 상하위 클래스의 상속을 통해 분리했다. 이번에는 아예 상속관계도 아닌 완전히 독립적인 클래스로 만들어보겠다. 그림에 나와있는 것 처럼 SimpleConnectionMaker라는 새로운 클래스를 만들고 DB 생성 기능을 그 안에 넣는다 . 그리고 UserDao에서 SimpleConnectionMaker클래스의 오브젝트를 만들어두고, 이를 각 메서드에서 사용하면 된다. package springbook.user.dao; import springbook.user.domain.User; import springbook.util.SimpleConnectionMaker; import java.sql.*; public class UserDao {..
2022.01.09