본문 바로가기

프로그램/pattern

싱글턴 패턴 ibatis 샘플 코드 만들어보다가 ibatis 의 SqlMapClient 객체 얻어오는 것 만들 게 됨. 스레드 프로그램이라서 동기화에 민감하게 찾아보다가 보니 SqlMapClient 자체가 thread safe 하고 백개 스레드로 테스트 해본 결과 안전한거 같음 싱글턴 소스는 찾아보니 크게 3가지 방법이 있는거 같은데 내가 쓴 방법은 일반적인 방법이며 다음과 같음 1. static 멤버 변수 선언 private static SqlMapClient sqlMapClient; 2. getInstance() 에서 체크 public static SqlMapClient getInstance() { if( sqlMapClient == null) { System.out.println("SqlMapClient is .. 더보기
Observe 클래스 사용하기 Observe 패턴을 구현한 클래스들을 이용하여 Observe 패턴을 대략적으로 생각해보게 되었음 자료 출처는 위키디피아의 Observable 로 검색할때 나오는 코드이며 이를 직접 토딩하여 확인해보았음 http://ko.wikipedia.org/wiki/%EC%98%B5%EC%A0%80%EB%B2%84_%ED%8C%A8%ED%84%B4 코드는 다음과 같음 package pattern.observerpattern; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Observable; /** * thread 로 도는 객체 * 사용자의 입력을 받으면 변경되었다는.. 더보기
Factory Pattern 을 이용한 비지니스 - DAO 연결 Spring 관련 책을 보다가 EJB나 Spring 같은 Container 을 사용하지 않고 개발하던 시절에 쓰던 방법이라고 하면서 소개되어 있었음. 이를 옮김. DAO 부분에 UserDAOFactory 클래스가 존재하며 이 클래스는 UserDAO 형태의 Interface 로 결과값을 넘김. 결국 UserDAO 를 상속받은 클래스들을 작성하며 DAO 반환시 매개변수로 넘어온 값에 따라 OracleUserDAO 나 MySqlUserDAO 를 넘겨주게 됨. Service.UserService.java : 서비스 객체로 DAO 객체를 얻어와 DAO 메서드를 실행하게 된다. package factorypattern.service; import factorypattern.dao.UserDAO; import fac.. 더보기