본문 바로가기

전략 패턴2

[토비의 스프링 vol.1]3장 템플릿 -토비의 스프링 3.1 vol.1의 3장을 정리 및 실습한다. 1장의 초난감DAO코드에 템플릿 기법을 적용하여 완성도를 높여본다. 3.1 다시 보는 초난감 DAO 3.1.1 예외처리 기능을 갖춘 DAO JDBC 수정 기능의 예외처리 코드 1장에서 만든 UserDao에 예외 처리를 추가한다. DB 커넥션 관련 코드는 리소스를 공유하기 때문에 예외가 발생하여 정상적으로 close()가 안 되면, 리소스 반환이 안 되어 나중에 리소스 부족과 관련된 에러가 발생할 수 있다. 일반적으로 서버에서는 제한된 DB 커넥션을 만들어 풀(Pool)로 관리한다. close()를 안 하면 다시 풀에 리소스를 넣지 못해서 반환하지 못한 커넥션이 쌓이면 다음 커넥션 요청 때 풀에 리소스가 없어서 서버 중단이 될 수 있다. 다음과.. 2021. 5. 16.
[디자인패턴]전략 패턴(Strategy Pattern) -디자인 패턴 중 전략패턴에 대해 알아본다. 전략패턴이란 전략패턴이란 특정 객체의 행위 알고리즘군을 각각 캡슐화하고 필요시에 객체지향 원칙을 위배하지 않고 교환해서 유연하게 사용할 수 있는 패턴이다. 여기서 행위 알고리즘 자체를 '전략'으로 표현하고, 이런 전략을 상황에 맞게 교체해주는 역할을 하는 클래스를 '컨텍스트'라고 표현한다. 컨텍스트는 클라이언트와 전략 사이에서 '접점'역할을 한다. 행위 알고리즘 자체는 인터페이스로 설계하고 각자 캡슐화된 행위로 구현한다. 예시 컴퓨터 백신 인스톨러 A, B가 있다고 가정하며 둘다 네이버백신을 설치하는 프로그램. 추후 요구사항이 B 인스톨러의 프로그램을 V3백신으로 바꿔달라는 요구사항이 들어온 경우 전략패턴으로 샤샤샥 바꾸는 예제 전략패턴 적용 전 예시 pack.. 2021. 2. 20.