- 자바 프로젝트 리팩토링 : Library Service(2)
지난 번에는 합쳐져 있던 service를 구분지었다면, 이번에는 service와 dao를 구분지을 예정이다.
기존 코드는 데이터 영속화가 적용되어 있지 않았기에 service 단에서 데이터 CRUD를 관리하였으나, 데이터를 영속화 시키게 되면서 구분지어져야 할 거 같다는 생각. (합쳐져 있으니 객체지향적이지 않다는 생각이 들었다.)
- Singleton 디자인 패턴 적용
기존 코드는 Singleton 디자인 패턴을 활용하고 있었다. 이번에도 Singleton은 사용할 것이지만..
각 Dao 별로 Singleton을 적용하여 관리하려고 한다.
public class RentDao {
// Singleton 패턴 적용
private static RentDao rentDao = new RentDao();
private RentDao() {}
public static RentDao getInstance() {
return rentDao;
}
private List<Rent> rents = new ArrayList<Rent>();
// Rent 데이터 초기화
{ DataUtil.initRents(rents); }
}
데이터 초기화는 DataUtil이라는 클래스를 만들어서 그 안에서 관리한다.